我有一个异步获取大块数据的要求。当我得到第一个块时,我将创建一个新系列,但要包含所有其他块。我想将数据块添加到现有系列中。我可以在Highcharts文档中看到,有addpoint方法,但是它添加了每个点,这将花费很长时间。有没有一种一次性添加一系列数据到系列的方法。在我的情况下,每个数据块都是2500个数据点的数组。
提前致谢。
最佳答案
在ajax回调中,只需获取现有的串行数据,将所需的任何数据追加到序列中,然后重新设置序列数据即可。
callback:
function(msg) {
var oldData = myChart.get('mySeriesName').data;
var newData = formatMsgForHighCharts(msg);
var combinedData= oldData.concat(newData);
myChart.get('mySeriesName').setData(combinedData);
}
该行:
var newData = formatMsgForHighCharts(msg);
如果消息已经正确格式化,则不需要在那里,只需将msg.d传递给concat函数。