2013-02-13 161 views
2

现在有一段时间我正在玩着我的饼图着色......并且我得到了没有渐变的自定义颜色,或者使用了渐变的默认颜色......我的颜色存储在PHP字段,我想加载像colors: <?echo $myColors;?>。 我的代码实际状态是这样的(它显示了梯度默认颜色):HighCharts:如何将自定义颜色与渐变结合起来

colors: Highcharts.map(Highcharts.getOptions().colors, function(color) { 
    return { 
     radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 }, 
     stops: [ 
       [0, color], 
       [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken 
     ] 
    }; 
}) 

我应该如何修改它,所以它会显示在简单的方法我自己的颜色?此外,我didn't找到什么是“停止”选项...

回答

7

用你的颜色map代替Highcharts内置的:

colors: Highcharts.map(<?echo $myColors;?>, function(color) { 
    return { 
     radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 }, 
     stops: [ 
       [0, color], 
       [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken 
     ] 
    }; 
}) 
+0

尼斯和简单的:)谢谢! – 2013-02-13 11:54:32

+0

一个小缺陷......当我点击某个切片时,前3个切片的颜色突然变回默认...我试图在jsFiddle中重现这一点,但它在那里正常工作...你有没有想法,这可能是什么造成的?我的数组看起来像这样:$ myColors = array('#199ED5','#77CC6D','#F136AD','#FF954E','#FFCC00','#00FFFF','#FF0000','#66FF00' , '#660099'); – 2013-02-13 12:26:22

+0

解决!改变颜色的数量实际上等于第二个图表(此时设置为默认颜色)显示的切片(颜色)的数量......因此,我认为在将自己的颜色主题设置到第二个图表后,此问题自败。 – 2013-02-13 12:35:37