每当我尝试使用为参数 col 和 lwd 传递的值绘制 xts 对象时,它都会返回一个错误,指出参数 col(如果我注释掉 col,则为 lwd)匹配多个值。这是函数的样子 -
数据是一个 xts 对象
plot(data, lwd=2, col="red")
安装 xtsExtra 似乎可以解决问题,但我不明白为什么。
xts:::plot.xts在构造坐标区时指定几个参数(col、lwd、las和mgp),但它也传递...给axis调用。例如:
axis(1, at = xycoords$x, labels = FALSE, col = "#BBBBBB", ...)
col已经指定,所以如果你也指定它,它会被传递给axisvia ...,现在有两个col参数指定给axis调用。
这不是问题,因为这些参数在传递给调用之前已xtsExtra:::plot.xts被删除。......axis
我对此的解决方案通过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 上。)