【发布时间】:2013-05-21 15:40:06
【问题描述】:
我的情况像this 问题一样安静,我怎么需要在一个面板中绘制多个时间序列(或固定长度向量)。 (我想上传一张图片,但它说我没有足够的声誉......)
这是我的示例代码。
列“id”标识用户。 (示例代码只有 1 个用户)
列“时间”范围从 1 到 24*7 小时(1 周的每小时汇总)
“A”、“B”、“C”列是每小时的属性汇总
> require(data.table)
# Create some data
> dt<-data.table(id=rep(123,168),time=1:168,A=rnorm(168,10,5),B=rnorm(168,100,20),C=rnorm(168,10,5))
> dt
id time A B C
1: 123 1 2.435577 147.01446 12.484723
2: 123 2 15.119403 88.05115 7.226495
3: 123 3 17.835930 110.01482 6.888222
4: 123 4 10.455834 102.48860 13.098892
5: 123 5 8.107672 83.70896 7.711350
---
164: 123 164 8.301877 145.88020 10.195002
165: 123 165 12.403081 97.90534 14.249087
166: 123 166 16.563673 125.69398 11.039720
167: 123 167 11.091746 98.81823 15.131038
168: 123 168 10.190338 87.32466 11.422943
> z<-zoo(dt)
> plot(z[,3:5],yax.flip=TRUE,col=1:3) #plot all attributes timeseries in one panel
我想添加网格并将 x 轴自定义为如下所示:
Mon.,1,2,3,...,23,Tue.,1,2,3,...,23,Wed.,1,2,3,...,23,Thu. ,1,2,3,...,23,Fri.,1,2,3,...,23,Sat.1,2,3,...,23,Sun.,1,2,3 ,...,23
我尝试使用axis、abline 和grid 来获得我想要的,但它根本不起作用。(如果plot.type=single 它工作正常)
【问题讨论】:
-
尝试在您原来的
plot调用中设置xaxt="n",然后使用axis根据需要添加轴。 -
@Thomas 我试过了,但没用,@P Lapointe 的方法是正确的方法。我再次检查了 ?plot.zoo,它确实说“轴可以在面板本身内使用,但不能在面板外使用”