highcharts线条颜色会改变,但我不会';我不想

highcharts线条颜色会改变,但我不会';我不想,highcharts,Highcharts,我使用HighCharts在一个网页上呈现两个图表。我使用jquery动态下载每个图表的数据,并使用setChart函数设置两个图表 function setChart(chart, name, data){ while (chart.series.length > 0) { chart.series[0].remove(true); } for (var i = 0; i < data.length; i++) { chart

我使用HighCharts在一个网页上呈现两个图表。我使用jquery动态下载每个图表的数据,并使用
setChart
函数设置两个图表

function setChart(chart, name, data){
    while (chart.series.length > 0) {
        chart.series[0].remove(true);
    }
    for (var i = 0; i < data.length; i++) {
        chart.addSeries({
            name: name[i],
            data: data[i],
        });
    }
}
函数集图表(图表、名称、数据){
而(chart.series.length>0){
chart.series[0]。删除(true);
}
对于(变量i=0;i
这里的问题是,当我使用jquery(=不刷新页面)下载新数据时,所有行的颜色都会改变


如何防止HighCharts更改线条(=系列)颜色?

您可能需要创建一个包含所需颜色的数组。让我们称之为
colors
。它必须有足够数量的元素,否则您将得到越界错误

function setChart(chart, name, data){
    while (chart.series.length > 0) {
        chart.series[0].remove(true);
    }
    for (var i = 0; i < data.length; i++) {
        chart.addSeries({
            name: name[i],
            data: data[i],
            color: colors[i],
        });
    }
}
函数集图表(图表、名称、数据){
而(chart.series.length>0){
chart.series[0]。删除(true);
}
对于(变量i=0;i
我把这两件事混为一谈:

color: Highcharts.getOptions().colors[i % 10]
它很好用。唯一酷的是它可能有10多种颜色,但我不想自己做^^


非常感谢;)

您可以通过以下方式从Highcharts获取默认颜色:
var colors=Highcharts.getOptions().colors