R在xts图中设置xlim

时间:2013-07-04 16:28:28

标签: r plot xts

我正在尝试扩展我的时间序列图的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。但是,由于我不知道将来需要绘制的数据,我对这个特定的解决方案感兴趣。

2 个答案:

答案 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)。