充实本杰明的答案和我自己的学习,这里有一个例子:
#bars is an XTS object, OHLC data
library(quantmod)
chartSeries(bars)
addBBands(n=20,sd=2)
addBBands(n=50,sd=1)
以上以默认配色方案绘制了两个布林带。以下会将它们更改为半透明的红色(即红色在它们都存在的地方更强烈):
t=chartTheme()
t$BBands$fill="#ff666633" #20% red (i.e. hex 33 is the transparency)
reChart(theme=t)
根据我对来源的研究,这应该可以改变线条颜色:
t$BBands$col=c('red','blue','green')
但事实并非如此。但是,您可以使用以下方法将顶部/底部颜色更改为相同的颜色:
t$BBands$col='blue'
reChart(theme=t)
这里是如何使用较新的 chart_series() 函数执行相同操作,注意您可以单独设置线条颜色(注意,据我所知,没有 reChart 函数):
t=chart_theme()
t$bbands$col$fill="#ff000033"
t$bbands$col$upper='red'
t$bbands$col$lower='green'
t$bbands$col$ma='blue'
chart_Series(bars,theme=t)
add_BBands(n=50,sd=1)
add_BBands(n=20,sd=2)
据我所知,不可能为两个布林带使用不同的配色方案。即使像这样更改配色方案也会失败,因为在第二个命令之后它会用新颜色重绘两者!
obj=chart_Series(bars)
add_BBands(n=50,sd=1)
obj$Env$theme$bbands$col$fill="#00ff0033"
add_BBands(n=20,sd=2)