如何更改quantmod的addMACD中的颜色

时间:2014-02-15 01:53:57

标签: r quantmod

我是R和quantmod的新手,感谢您的帮助。 我想在quantmod中更改mace图的颜色。

library(quantmod)
getSymbols("AAPL")
chartSeries(AAPL)
addMACD()   # this works

但是 addMACD(col = c('red','blue','green','black')出现以下错误。

  

addMACD(col = c('red','blue,yellow'))   ifelse错误((macd [,1] - macd [,2])> 0,col [1],col [2]):     替换的长度为零   另外:警告信息:   在rep(是的,length.out = length(ans)):     'x'为NULL,因此结果为NULL

根据quantmod手册,addMACD有颜色选项。

THX。

1 个答案:

答案 0 :(得分:1)

这似乎是addMACD函数中的错误。

如果您查看其源代码(例如fix(addMACD)),您会看到它:

col <- if (missing(col)) 
        col <- c("#999999", "#777777", "#BBBBBB", "#FF0000")

因此,如果您定义col,则上述行会为col指定NULL。

如果您将这些行更改为

if (missing(col)) 
        col <- c("#999999", "#777777", "#BBBBBB", "#FF0000") 

或者只是完全删除它们并指定col的默认值,该函数将按预期工作。

您可能想看看如何编辑R中的函数(以及相关讨论):What ways are there to edit a function in R?