我正在尝试扩展我的时间序列图的X轴,以便为稍后在图中添加新数据做好准备。但是,无论我尝试什么,我都会在plot.window(...)中得到错误:无效的'xlim'值错误。
这是一个最小的代码段:
数据构建:
time_series <- xts(rnorm(100),seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 03:00:00"), by="hour"))
绘图:
plot(time_series, type='l');
正如预期的那样,结果是一个很好的时间序列图。
现在,我想扩展x轴,我尝试了:
xlim <- seq(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-06 03:00:00"), by="hour")
plot <- (time_series, xlim = xlim, type='l')
但这不起作用,但会导致plot.window(...)中的错误:无效的'xlim'值。
尝试以下结果会出现同样的错误:
xlim <- c(as.POSIXct("2012-01-01 00:00:00"), as.POSIXct("2012-01-05 00:00:00"))
从文档中我知道xlim必须是数字并且可以设置为xlim = c(0,100)但是在使用xts数据时它是如何工作的?
修改:我知道此问题类似于问题Time series plot range。但是,由于我不知道将来需要绘制的数据,我对这个特定的解决方案感兴趣。
答案 0 :(得分:6)
像这样:
plot(time_series, type='l',
xlim=as.POSIXct(c("2012-01-01 00:00:00","2012-01-06 03:00:00")))
答案 1 :(得分:0)
或者您之前在xts中创建了一个子集:df2.xts&lt; -df.xts [“2012-01-01 / 2012-02-01”]然后绘制(df2.xts)。