amCharts4:每次我尝试刷新显示的数据时,图表中列的颜色都会不断变化

amCharts4: Color of columns in chart keeps changing every time I try to refresh the data being shown

所以我在一个可以在柱形图上查看数据的网站上工作,图表上显示的数据量取决于在“过滤器”面板中选择的设置。每当过滤器中的设置发生变化时,图表上的数据都会先被清除,然后根据新设置重新添加。

我正在尝试用 Google 图表 API 替换我之前使用的柱形图,现在我正在使用 amCharts4 生成图表。

目前一切正常,除了一个问题。每当图表重置时,每个系列的颜色都会发生变化。我假设为添加的每个新系列选择的颜色都在主题范围内按顺序排列。每次重置图表时,第一个系列的颜色是上一版本图表的最后一个系列之后的颜色。

The first version of the chart, before any filter settings are changed.

The second version of the chart, after I change a setting in the filter.

如果我不断更改设置,颜色将继续穿过光谱,穿过绿色、黄色、橙色等。

我假设之前的系列保存在某个地方,这就是颜色没有被重置的原因。但是在我写的清除系列的代码中,我以为我正在处理它们:

while (chart.series.length > 0) {
    chart.series.removeIndex(0).dispose();
}

有没有办法保留第一版图表的颜色?这应该是次要的,以确保在再次填充图形之前成功删除之前的系列。

我对使用 amCharts4 还很陌生,因此我们将不胜感激。谢谢!

在重新创建系列以再次从主题中的第一种颜色开始之前,您可以对图表的 ColorSet 对象 (colors) 调用 reset()

chart.colors.reset();