每当我尝试使用为参数col和lwd传递的值绘制我的xts对象时,它会返回一个错误,指出参数col(如果我注释掉col则为lwd)匹配多个值。这是函数的样子 -
数据是一个xts对象
plot(data, lwd=2, col="red")
安装xtsExtra似乎解决了这个问题,但我不明白为什么。
答案 0 :(得分:2)
xts:::plot.xts
在构建轴(col
,lwd
,las
和mgp
)时指定了几个参数,但它也传递了...
转到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上。)