2013-05-10 27 views
3

每當我嘗試用參數col和lwd傳遞的值繪製我的xts對象時,它會返回一個錯誤,指出參數col(然後如果我註釋掉lwd col)匹配多個值。下面是函數的樣子 -繪製xts對象 - 傳遞lwd和col參數創建錯誤的值

數據是XTS對象

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

安裝xtsExtra似乎解決了問題,但我不明白爲什麼。

回答

2

xts:::plot.xts構建軸(collwdlasmgp)當指定了幾個參數,但是它也傳送...axis呼叫。例如:

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

col已指定,因此,如果您還指定了它,它就會通過...傳遞給axis,現在有規定的axis呼叫的兩個col參數。

這不是xtsExtra:::plot.xts的問題,因爲在將...傳遞給axis調用之前,將這些參數從...中刪除。

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上。)