添加新数据时重新使用高图中的颜色

时间:2013-07-22 21:24:48

标签: highcharts

我有一个项目,我们可以动态地将线条添加到折线图(通过从图表外的列表中挑选)并且工作正常并且它根据我们的“颜色”列表以正确的颜色和正确的顺序添加每一行。问题是,当我们删除一行(或几行),然后添加一个新行时,使用的颜色是我们离开的“下一行”,而不是我们删除的颜色之一。

例如,我们的颜色是1,2,3,4,5,6,7,8。用户通过添加五行来动态制作图表,因此我们使用颜色1-5。现在用户随机删除两行,例如我们留下颜色1,3,4。现在用户添加了两条移动线,添加的颜色总是6和7,但我们更喜欢添加的颜色为2和5(因为它们不再被使用,它们的优先级更高)。这可能吗?我们可以肯定地做一个自定义解决方案,但我想看看我们是否遗漏了已经建成的任何东西。

谢谢!

1 个答案:

答案 0 :(得分:0)

不幸的是这个选项是不可能的,但是,你可以准备自己的函数,它将为每个系列循环,然后设置正确的颜色,如下例所示:

http://jsfiddle.net/sbochan/gJvde/1/

 function setColors(chart){
        var series = chart.series,
                 colors = chart.options.colors,
                 len = series.length-1;

                    if(flag) {
                        $.each(series,function(i,serie){
                            if(i==len) {
                                flag != flag;
                                serie.update({
                                    color: colors[i]
                                },true,true);
                            }
                            else {
                                serie.update({
                                    color: colors[i]
                                },false);
                            }
                        });
                    }
    }