是否可以更改Quantmod中显示的图上的图例,以便显示值而不是变量名称?例如:

library("quantmod")
getSymbols("YHOO")
temp1 <- 6
temp2 <- "SMA"
barChart(YHOO)
addTA(ADX(YHOO, n=temp1, maType=temp2))

图中显示的图例为ADX(YHOO, n=temp1, maType=temp2)。我希望它显示特定的值,而不是ADX(YHOO, n=6, maType='SMA')

最佳答案

无法使用addTA自动执行此操作,因为它需要知道需要评估的TA调用中的哪些参数。但是您可以通过自己设置legend=参数来手动完成此操作。

一种方法是使用paste(或paste0)。

barChart(YHOO)
Legend <- paste0('ADX(YHOO, n=',temp1,', maType=',temp2,')')
addTA(ADX(YHOO, n=temp1, maType=temp2), legend=Legend)

或者,您可以创建和处理该 call 以获取所需的内容。
barChart(YHOO)
callTA <- call("ADX",quote(YHOO),n=temp1,maType=temp2)
eval(call("addTA", callTA, legend=deparse(callTA)))

08-19 20:07