2012-11-17 70 views
1

我有一个包含温度数据和读取时间的帧。它看起来像这样:R绘图中的时间数据的日期刻度

> 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轴上显示的滴答数量太少。我想每天显示一个勾号。什么是最好的方式来做到这一点?有很多问题,请求稍有不同,所以我迷路了。如果这个问题已经被问到,我会很感激链接。

+0

'zoo'包会有帮助。看看[这里](http://stackoverflow.com/questions/4355042/label-x-axis-in-time-series-plot-using-r)。 – Justin

+0

我看着动物园和xts,但我没有时间阅读所有的文档,以真正了解它们是如何工作的:(这是一个侧面项目,不能分配太多时间:( – rslite

回答

2

这里有一种方法可以通过基本图来实现这一点,但正如贾斯汀所建议的那样,您还可以查看为绘图日期对象提供更多灵活性的软件包,如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'))) 
+0

我试过了并且不起作用(不显示滴答):(如果我将x数据从日期时间更改为显示滴答的日期,但当然所有温度数据都在一列中,而不是我我觉得我在这里错过了一些基本的东西... – rslite

+0

是dx $ ta字符串还是POSIX对象? – jbaums

+0

我已经编辑了一些假的数据,希望能更好地匹配你的数据。 – jbaums

相关问题