r - 在 R 中绘制具有不同日期的两个时间序列

标签 r plot ggplot2

我有两个如下所示的数据集,我尝试使用 ggplot2 或常规绘图将它们绘制在一张图中:

df1
date                count
2014-09-10 07:14:00 0.07253886
2014-09-10 07:19:00 0.03626943
2014-09-10 07:24:00  0.07253886
2014-09-10 07:29:00  0.19689119
2014-09-10 07:34:00  0.13989637
2014-09-10 07:39:00  0.88601036

df2
date                count
2014-09-10 11:25:00  1.00000000
2014-09-10 11:30:00  0.47058824
2014-09-10 11:35:00  0.00000000
2014-09-10 11:40:00  0.11764706
2014-09-10 11:45:00  0.00000000
2014-09-10 11:50:00  0.05882353

正如您所看到的,数据框具有不同的日期值(因此您不能简单地按日期列合并两个数据框),尽管它们间隔 5 分钟间隔。我想做的就是绘制一个从这两个数据框的最小日期和范围到最大日期的图,同时正确绘制每个时间间隔的点击计数。

最佳答案

您可以为 df1 和 df2 创建一个新列“type”,然后将它们绑定(bind)在一起,如 @thelatemail 的评论中所示

> df <- rbind(df1, df2)
> dput(df)
    structure(list(Date = structure(c(1410358440, 1410358740, 1410359040, 
    1410359340, 1410359640, 1410359940, 1410373500, 1410373800, 1410374100, 
    1410374400, 1410374700, 1410375000), tzone = "", class = c("POSIXct", 
    "POSIXt")), count = c(0.07253886, 0.03626943, 0.07253886, 0.19689119, 
    0.13989637, 0.88601036, 1, 0.47058824, 0, 0.11764706, 0, 0.05882353
    ), type = c("df1", "df1", "df1", "df1", "df1", "df1", "df2", 
    "df2", "df2", "df2", "df2", "df2")), .Names = c("Date", "count", 
    "type"), row.names = c(NA, 12L), class = "data.frame")

现在使用 ggplot 进行绘图相对容易

library(ggplot2)
ggplot(df, aes(x = Date, y = count, color = type)) + geom_line() + theme_bw()

enter image description here

关于r - 在 R 中绘制具有不同日期的两个时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37850273/

相关文章:

r - 使用 ggplot 创建 95% 置信带

R:按月划分的滚动/移动平均线

r - 如何使用序列频率将第二个 y 轴添加到 seqfplot?

matlab - 自动绘制不同颜色的线条

r - 如何使用 ggplot 创建并排条形图(用于多个系列)?

r - ggplot2 中点的大小是否可以在图之间进行比较?

r - R 操作中的一对一应用/映射

python - 代码终止后保持 matplotlib/pyplot 窗口打开

r - R 版本 3.2.2 下 arrangeGrob 的问题

r - 相当于 R 中的 'this' 或 'self'