在一个窗口中绘制多个xts对象

时间:2012-10-20 21:23:34

标签: r plot xts zoo

我在网上找到了一些答案,但由于某些原因我的解释不正确,因为我无法让它工作。我的目标是简单地使用xts绘图功能(以及创建轴,网格线等的方式)来绘制多个绘图:

x <- xts(data.frame(a=1:100, b=100:1),seq(from=as.Date("2010-01-01"), by="days", len=100))
> plot(x, screens=1)
Warning messages:
1: In plot.xts(x, screens = 1) :
  only the univariate series will be plotted
2: In plot.window(...) : "screens" is not a graphical parameter
3: In plot.xy(xy, type, ...) : "screens" is not a graphical parameter
4: In axis(1, at = xycoords$x, labels = FALSE, col = "#BBBBBB", ...) :
  "screens" is not a graphical parameter
5: In axis(1, at = xycoords$x[ep], labels = names(ep), las = 1, lwd = 1,  :
  "screens" is not a graphical parameter
6: In axis(2, ...) : "screens" is not a graphical parameter
7: In title(screens = 1) : "screens" is not a graphical parameter

另一次尝试:

> plot(x, plot.type="single")
Warning messages:
1: In plot.xts(x, plot.type = "single") :
   only the univariate series will be plotted
2: In plot.window(...) : "plot.type" is not a graphical parameter
3: In plot.xy(xy, type, ...) : "plot.type" is not a graphical parameter
4: In axis(1, at = xycoords$x, labels = FALSE, col = "#BBBBBB", ...) :
  "plot.type" is not a graphical parameter
5: In axis(1, at = xycoords$x[ep], labels = names(ep), las = 1, lwd = 1,  :
  "plot.type" is not a graphical parameter
6: In axis(2, ...) : "plot.type" is not a graphical parameter
7: In title(plot.type = "single") :
  "plot.type" is not a graphical parameter

要明确:我可以使用lines执行此操作,但我想知道是否有办法一次性执行此操作。

2 个答案:

答案 0 :(得分:9)

您可以强制zoo使用plot.zoo

plot(as.zoo(x), screens=1)
plot(as.zoo(x), plot.type='single')

或者,您可以安装xtsExtra,其中包含较新的plot.xts方法

#install.packages("xtsExtra", repos='http://r-forge.r-project.org')
library(xtsExtra)
plot(x, screens=1)

答案 1 :(得分:1)

我可能错了,但我认为plot.xts不再是xtsExtra的一部分而已移至主要的xts。 Source。也许这个笔记将帮助人们在未来试图找出xts中的绘图..