【问题标题】:R/quantmod: how to specify the bollinger bands colour?R/quantmod:如何指定布林带颜色?
【发布时间】:2011-12-08 05:06:48
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: r quantmod


    【解决方案1】:

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

    【讨论】:

    • 谢谢本杰明;这为我指明了正确的方向(我随后的发现在单独的答案中)。
    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多