添加新的HighChart系列

时间:2013-01-04 23:12:21

标签: arrays highcharts live series

在此代码中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: []

...

2 个答案:

答案 0 :(得分:25)

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

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

如果要添加多个系列,则应将redraw标志设置为false,然后再手动调用重绘,因为这样会快得多。

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();

答案 1 :(得分:0)

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