r - ggplot 时间序列:在 x 轴上绘制整月
问题描述
奥拉,我有一个关于 ggplot 的问题。
在这段代码中,我有 31 天,每天有大约 200 个测量时间和降水总和。
延迟以秒为单位,Precip 以毫米为单位(乘以 100,用于绘图测量)。
下面的代码只是为了让您对此有一个很好的了解。
我目前正在努力将其形成一个 ggplot 图。
X ARRIVAL DELAY PRECIP DATDEP
1 08:12 -10 0 01AUG2019
2 11:22 120 19.2222 01AUG2019
3 09:22 22 0.4444 01AUG2019
4 21:22 0 33.2222 01AUG2019
5 08:22 2 744.4444 02AUG2019
etc. etc.
我如何设法将本月绘制成一条有 2 条线的图(一条用于 DELAY,一条用于 PRECIP)?我无法将 DATDEP 转换为 x 轴上的一个不错的时间范围。
Q2:也比如4个月?您将如何设法在 x 轴上将其形成一个不错的时间框架。
解决方案
使用包 lubridate 作为您的日期。并使您的数据变长。关于这个主题的许多线程在这里。
library(tidyverse)
library(lubridate)
#devtools::install_github('alistaire47/read.so')
mydf <- read.so::read.so(' X ARRIVAL DELAY PRECIP DATDEP
1 08:12 -10 0 01AUG2019
2 11:22 120 19.2222 01AUG2019
3 09:22 22 0.4444 01AUG2019
4 21:22 0 33.2222 01AUG2019
5 08:22 2 744.4444 02AUG2019')
mydf <- mydf %>% pivot_longer(names_to = 'key', values_to = 'value', cols = DELAY:PRECIP)
ggplot(mydf, aes(dmy(DATDEP), value)) + geom_line(aes(color = key))
由reprex 包(v0.3.0)于 2020-03-20 创建
推荐阅读
- mysql - MySql - 从上次 X 点开始计算记录
- python - 根据应用于另一列的函数的结果填充数据框列
- elasticsearch - 如何在 Ids 查询中按指定 Id 的顺序获取结果文档?
- node.js - 在向客户端发送响应之前等待 nodeJs async/promise 进程结束
- c# - 如何以 10 秒的间隔在 mvc 剃须刀页面中使用 jQuery 调用方法并将输出附加到 html
- angular - 如何进行水平拖动和替换
- javascript - 在 DomPurify 中允许 HTML 注释
- css - 如何将输入值内容左对齐而不是居中对齐?
- angular - 如何从服务器响应中提取 json 对象的第二层属性
- ios - Apple Map 和 MKLocalSearch 的搜索结果不同