1

我想为 1 周时间序列的每个小时绘制图表。X 轴应如下所示:

0 1 2 3 4 ....23 0 1 2 3 4....23 0 1 2 3 ....23 .......... 0 1 2 3 ...23
---星期一---- ------星期二---- ----星期三----------星期日--- --

我不知道如何为此设置 xlim,因为我需要 1 周内每小时表示的 x 轴。x 轴上共有 168 个点 (24*7=168)。

4

2 回答 2

2

如果有 168 个点,只需将其设置为xlim=c(0,168),抑制轴并单独标记,例如

plot(...,xlim=c(0,168),xaxt="n")
axis(1,at=c(1:168),rep(1:24,7))

那样 x 轴可能有点满,所以也许你只想每 6 小时左右注释一次。然后您以时间点匹配的方式重新编码数据,例如“自开始以来的小时数”左右。

于 2013-02-07T06:59:37.407 回答
0

不完全是您要找的东西,但我对同一问题的解决方案是使用 ggplot2... 并按星期几进行过度绘制 - 这向我表明 Sat 和 Sun 是不同的,但一周中的其他日子非常相似在行为上。

# some random data...
adf <- data.frame(day.of.week=rep(c('Mon','Tue','Wed','Thu','Fri','Sat','Sun'), 24),
      hour.of.day=rep(1:24, 7), y.to.be.plotted=runif(168))
qplot(hour.of.day, y.to.be.plotted, data=adf, colour=day.of.week, geom='line')
library(ggplot2)
qplot(as.integer(hour.of.day), y.to.be.plotted, data=my.data,
        colour=day.of.week, geom='line')
于 2013-02-07T08:01:01.847 回答