首页 > 解决方案 > 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 轴上将其形成一个不错的时间框架。

标签: rggplot2

解决方案


使用包 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 创建


推荐阅读