ggplot:根据日期

时间:2016-04-03 18:04:03

标签: r ggplot2 facet

我只是想在每天上午7点到9点的时间序列数据集中查看趋势(即Y)。

你知道如何在ggplot中绘制它吗?

ggplot facet中的每个子图显示每天早上7点到9点(2010/1/1至2010/1/14)的趋势Y.

这是我的数据集:

  DateTime <- seq(as.POSIXct("2010/1/1 00:00"), as.POSIXct("2010/1/15 00:00"), "min")
  Y <- rnorm(n=length(DateTime), mean=100, sd=1)
  df <- data.frame(DateTime, Y)

非常感谢!

1 个答案:

答案 0 :(得分:4)

require(ggplot2)
df <- dplyr::filter(df, format(DateTime, '%H:%M:%S') < '09:00:00', format(DateTime, '%H:%M:%S') > '07:00:00')

df$Day <- format(df$DateTime, '%d')

plt <- ggplot(df, aes(DateTime, Y)) + geom_line() + facet_wrap(~Day, ncol = 2, scales = 'free_x') +
theme(axis.text.x = element_text(size = rel(0.7)))

print(plt)

Output Image