【问题标题】:Adding new HighChart Series添加新的 HighChart 系列
【发布时间】:2013-01-04 23:12:20
【问题描述】:

在这段代码中,javascrip 给出一个错误

$.each(JSON, function(i, array) {                        
    chart.series[i].name = array.teamName;
    chart.series[i].setData(array.teamPower, true);
});

我必须定义 chart.series[i] 因为它说“无法设置未定义的属性'名称'” 但我找不到这样做的方法。

因为它的功能与 requestData 一起运行,所以它是在使用选项确定图表之后出现的

function showGraph() {  
    chart = new Highcharts.Chart(option);       
}

chart: {
    renderTo: 'graphicShow',
    type: 'spline',
    events: {
        load: requestData
    }
}

...在选项中...

title: {
    text: 'Power %'
},
series: []

...

【问题讨论】:

    标签: arrays highcharts live series


    【解决方案1】:

    您需要查看 API 的“方法和属性”部分。请参阅http://api.highcharts.com/highcharts#Chart(文档页面上也有一个 jsFiddle)。

    var chart = new Highcharts.Chart(options);
    chart.addSeries({                        
        name: array.teamName,
        data: array.teamPowher
    });
    

    如果您要添加多个系列,您应该将redraw 标志设置为 false,然后手动调用 redraw,因为这样会更快。

    var chart = new Highcharts.Chart(options);
    chart.addSeries({                        
        name: array.teamName,
        data: array.teamPower
    }, false);
    chart.addSeries({                        
        name: array.teamName,
        data: array.teamPower
    }, false);
    chart.redraw();
    

    【讨论】:

    • 有没有办法按名称引用该系列,或者它只是用于工具提示等?
    • 你可以使用 Chart.get 函数,见这里api.highcharts.com/highcharts#Chart.get()。请注意“name”和“id”之间的区别。
    • 现在与v6+ 有什么不同吗?我在 TS 中遇到了错误。
    【解决方案2】:

    您也可以将addSeries 的第二个选项指定为一个布尔值,用于指示是否重绘

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      相关资源
      最近更新 更多