在Highcharts中禁用颜色循环

时间:2015-01-23 12:18:57

标签: highcharts

我有一个Highchart图表,我通过删除所有系列并添加新动态来动态更改其中的数据。这一切都很好,但问题是条/列/线/等的颜色。当我这样做时,以循环方式改变。我希望第一个条/列/行始终是第一种颜色,第二个条/列/行是第二种颜色等。

有没有办法禁用这种循环颜色,所以当我删除并添加系列时颜色是静态的?

我一直在考虑的一个可能的解决方案是为每个系列设置颜色,并跟踪手动使用的颜色。不幸的是,代码库的设计(或者更确切地说,是进化的)我必须在许多地方改变代码才能使其工作,因为不同的图表的创建是在不同的地方完成的。主要部分可以在一个函数中处理,但我们仍然必须跟踪哪个颜色用于哪个图表,以及在每个图表创建时设置它。

2 个答案:

答案 0 :(得分:1)

Pawel Fus的评论让我走上正轨,但它并没有开箱即用。我必须调用Series.update函数来实际更改颜色:

series[x].update({color: series[x].color});

答案 1 :(得分:0)

for highcharts-ng

var colorPalette = ["#007298", "#65cce9", "#f56e00", "#5e4565", "#a5a5a5", "#00ae79", "#0a2f5d", "#ffbd06",'#058DC7'];
数据系列更新后

$scope.chartName.series = newData;
var l = colorPalette.length;
for (var i=0; i<$scope.chartName.series.length; i++){
  var l = colorPalette.length;
  $scope.chartName.series[i].color = colorPalette[i%l];
};