3

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

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

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

(参见它的外观示例(靠近底部))

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

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

我如何将其更改为漂亮的亮红色,上下线带有亮紫色?(是的,我知道,-1 表示配色方案)

我相信我可以指定 8 位十六进制颜色来指定半透明。但是我能做一些更奇特的事情吗?例如,使用渐变并在中心设置#ff0000 并在上下行淡入到#330000 会很酷。quantmod 图表中是否有任何渐变支持?

4

2 回答 2

3

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

于 2011-12-12T01:39:29.280 回答
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)
于 2011-12-14T12:31:32.257 回答