在 Highcharts 中禁用颜色循环

Disable color-cycling in Highcharts

我有一个 Highchart 图,我通过删除所有系列并添加新系列来动态更改其中的数据。这一切都很好,但问题是 bars/columns/lines/etc 的颜色。当我这样做时,它会循环变化。我希望第一个 bar/column/line 始终是第一种颜色,第二个 bar/column/line 是第二种颜色,等等

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

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

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

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

对于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];
};