R图中时间数据的日期刻度

时间:2012-11-17 23:06:21

标签: r plot

我有一个框架,其中包含温度数据和读取时间。它看起来像这样:

> head(dx)
                       t Temp
1218 2012-11-13 00:01:15   79
1219 2012-11-13 00:07:19   80
1220 2012-11-13 00:15:19   78
1221 2012-11-13 00:22:57   82
1222 2012-11-13 00:30:25   78
1223 2012-11-13 00:43:19   75
...
> tail(dx)
                       t Temp
2240 2012-11-17 13:37:19  106
2241 2012-11-17 13:43:23  106
2242 2012-11-17 13:49:25  106
2243 2012-11-17 13:55:25  106
2244 2012-11-17 14:00:00  107
2245 2012-11-17 14:06:23  107

我想在每天都有刻度的图表中显示它。我用

plot(dx$t, dx$Temp/10)

显示数据,效果很好,但x轴上显示的刻度太少。我想每天显示一个勾号。最好的方法是什么?有很多问题,请求略有不同,所以我迷路了。如果已经提出这个问题,我将非常感谢您的链接。

1 个答案:

答案 0 :(得分:2)

以下是使用基础图实现此目的的一种方法,但正如Justin建议的那样,您还可以查看为绘制日期对象提供额外灵活性的包,例如zooxts

t <- seq(ISOdatetime(2012,1,1,11,10,25), ISOdatetime(2012,03,31,11,10,25), "hours")
dx <- data.frame(t=t, Temp=runif(length(t)))
plot(dx$t, dx$Temp/10, xaxt='n')
axis(1, at=as.POSIXct(unique(format(dx$t, '%Y-%m-%d')), format='%Y-%m-%d'),
     labels=unique(format(dx$t, '%Y-%m-%d')))