【发布时间】:2017-04-12 10:22:44
【问题描述】:
我有以下 R 数据框,其中包含 Date 列和 Value 列,Date 列是 R chron 对象(格式
我想做的是通过绘制直方图或折线图来可视化时间序列数据,并且我还想在 x 轴上指定日期时间范围(例如从 10/2/16 20:00:00至 2016 年 10 月 3 日 20:00:00)。但是,在搜索了在线指南后,我仍然没有任何线索。
谁能给我一个使用 ggplot 或其他包的示例代码?感谢您的帮助。
Date Value
(10/03/16 09:31:00) 180,912.00
(10/03/16 09:32:00) 112,359.00
(10/03/16 09:35:00) 93,539.00
(10/03/16 09:35:00) 156,283.00
(10/03/16 09:36:00) 226,704.00
(10/03/16 09:37:00) 780,094.00
(10/03/16 09:45:00) 184,632.00
(10/03/16 09:48:00) 144,984.00
(10/03/16 09:49:00) 311,035.00
(10/03/16 09:51:00) 210,653.00
(10/03/16 09:51:00) 72,626.00
(10/03/16 09:52:00) 241,173.00
(10/03/16 09:54:00) 233,416.00
(10/03/16 09:55:00) 146,550.00
(10/03/16 10:24:00) 331,191.00
(10/03/16 10:28:00) 107,015.00
(10/03/16 10:36:00) 196,162.00
(10/03/16 10:41:00) 466,879.00
(10/03/16 10:44:00) 294,589.00
(10/03/16 10:48:00) 164,339.00
(10/03/16 10:52:00) 137,082.00
(10/03/16 10:58:00) 180,667.00
(10/03/16 11:04:00) 259,475.00
更新于 2016 年 11 月 28 日下午 6:35 借助 yeedle 的代码,我可以绘制以下内容:
ggplot(temp_merge_sub1, aes(x=Date, y=Value, group=1)) + geom_bar(stat = "identity")
我真正想要改进的是:
- 如何正确设置 y 轴的断点?
- 如何在 x 轴上设置中断并在每个 2 小时间隔内显示累加值的直方图?
感谢您的帮助!我很感激!
【问题讨论】:
-
你能发布你的df的
dput输出吗? -
同一日期时间有多个值。你希望它如何显示在情节上?
-
感谢@yeedle 帮助我解决我的问题。上面的数据只是我数据的一小部分,我想用直方图显示的是某种固定时间范围内的值相加(例如 2 小时休息,2016 年 10 月 3 日 6:00 - 8: 00, 8:00-10:00, ... 等),然后是每个时间间隔内的累加值的直方图。我不确定 ggplot2 是否可以做到这一点?
-
为此,您可以在数据框中添加一个具有舍入时间范围的新列(您可以使用
lubridate中的round_date函数),然后使用新列进行绘图。使用scale_x_datetime设置中断和限制。