R / quantmod:如何指定布林带的颜色?

时间:2011-12-08 05:06:49

标签: r quantmod

这可能更普遍的是如何更改主题颜色?或者TA颜色可能不受主题控制?

这使得布林带具有良好的云效果:

chartSeries(bars, theme="white")
addBBands()

(见example of how it looks(靠近底部))

下一个示例中的云效果是深灰色,因此几乎不可见。

chartSeries(bars, theme="black")
addBBands()

如何将它更改为一个漂亮的鲜红色,上下线有明亮的紫色? (是的,我知道,-1为配色方案)

我相信我可以指定一个8位十六进制数字来指定半透明度。但我可以做一些更奇特的事吗?例如。使用渐变并将#ff0000放在中心,在上下线处渐渐变为#330000会相当酷。在quantmod图表中是否有任何梯度支持?

2 个答案:

答案 0 :(得分:3)

chartTheme似乎表明渐变是不可能的,但可以指定上/下颜色,相应的边框颜色也可以。根据示例定义您自己的主题。您可以从预定主题开始并修改某些单独的参数。

答案 1 :(得分:2)

充实本杰明的答案和我自己的学习,这是一个例子:

#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)