我想在同一个面板图上绘制多个时间序列,而不是在单独的面板中。我从另一个 stackoverflow 帖子中获取了以下 R 代码。
请注意 3 个时间序列如何在 3 个不同的面板中。我如何能够在 1 个面板上分层 3 个时间序列,并且每条线的颜色可能不同。
Time = Sys.time()+(seq(1,100)*60+c(rep(1,100)*3600*24, rep(2, 100)*3600*24, rep(3, 100)*3600*24))
Value = rnorm(length(Time))
Group = c(0, cumsum(diff(Time) > 1))
library(ggplot2)
g <- ggplot(data.frame(Time, Value, Group)) +
geom_line (aes(x=Time, y=Value, color=Group)) +
facet_grid(~ Group, scales = "free_x")
如果你运行上面的代码,你会得到:
当facet_grid()
零件被消除时,我得到一个如下所示的图表:
基本上,我希望 ggplot 忽略日期的差异,只考虑时间。然后用它group
来识别不同的日期。
这个问题可以通过创建一个只包含时间的新列来解决(例如22:01
,,format="%H:%M"
)。但是,当as.POSIXct()
使用函数时,我得到一个包含日期和时间的变量。我似乎无法逃避日期部分。