绘制xts对象 - 为lwd和col参数传递值,从而创建错误

时间:2013-05-10 00:39:20

标签: r plot xts

每当我尝试使用为参数col和lwd传递的值绘制我的xts对象时,它会返回一个错误,指出参数col(如果我注释掉col则为lwd)匹配多个值。这是函数的样子 -

数据是一个xts对象

plot(data, lwd=2, col="red")

安装xtsExtra似乎解决了这个问题,但我不明白为什么。

2 个答案:

答案 0 :(得分:2)

xts:::plot.xts在构建轴(collwdlasmgp)时指定了几个参数,但它也传递了...转到axis电话。例如:

axis(1, at = xycoords$x, labels = FALSE, col = "#BBBBBB", ...)

col已经指定,所以如果你也指定它,它会通过axis传递给...,现在有两个col参数指定给axis 1}}来电。

这不是xtsExtra:::plot.xts的问题,因为在...传递给...之前,这些参数会从axis中删除。

答案 1 :(得分:0)

我的解决方案是通过type='n',然后致电lines

require(quantmod)
getSymbols('CPIAUCSL',src='FRED')
xts::plot.xts(CPIAUCSL, type='n')
lines(CPIAUCSL, lwd=3, col='darkgoldenrod')

这不需要xtsExtra包,这会对绘图进行其他更改,并且(可能)不会被主动维护。 (至少它现在不通过软件包管理器安装,在R 3.1.1上。)