早上好,
我正在使用highcharts库绘制趋势。我将以10秒的间隔连续且动态地向高等级添加点数。它工作正常10-15分钟。但之后浏览器会询问用户“你想停止脚本吗?”。浏览器变得无响应。
创建图表的代码是
var seriesData = [];
var cnt = 0;
var ais = DCSSPACE.view.mappings.AI;
var aos = DCSSPACE.view.mappings.AO;
for ( var i = 0; i < ais.length; i++) {
seriesData[cnt] = {
'name' : ais[i].tag,
'data' : []
};
cnt++;
}
for ( var i = 0; i < aos.length; i++) {
seriesData[cnt] = {
'name' : aos[i].tag,
'data' : []
};
cnt++;
}
/** **************** */
DCSSPACE.view.chart = new Highcharts.Chart({
chart : {
renderTo : 'trendsDiv',
defaultSeriesType : 'spline',
// events : {
// load : DCSSPACE.requestData
// }
},
plotOptions : {
series : {
events : {
legendItemClick : function(event) {
event.preventDefault();
return false;
}
}
}
},
title : {
text : 'TRENDS'
},
xAxis : {
// type : 'linear',
type : 'datetime',
tickPixelInterval : 150,
maxZoom : 20 * 1000,
title : {
text : 'Time',
margin : 30
}
},
yAxis : {
minPadding : 0.2,
maxPadding : 0.2,
title : {
text : '%',
margin : 80
}
},/*
* ,{ minPadding: 0.2, maxPadding: 0.2, title: { text: 'AO', margin:
* 40 } }]
*/
series : seriesData
});
和向图表添加点的代码是
var ais = json.AI;
var aos = json.AO;
var times = json.TIME;
for ( var i = 0; i < ais.length; i++) {
var time = times[i];
var series = DCSSPACE.view.chart.series[0];
// shift if the series is longer than 20
shift = series.data.length > 100;
var seriesNum = 0;
for ( var key in DCSSPACE.view.mappings.AI) {
DCSSPACE.view.chart.series[seriesNum].addPoint([ time,
ais[i][DCSSPACE.view.mappings.AI[key].tag] ], false, shift);
seriesNum++;
}
for ( var key in DCSSPACE.view.mappings.AO) {
DCSSPACE.view.chart.series[seriesNum].addPoint([ time,
aos[i][DCSSPACE.view.mappings.AO[key].tag] ], false, shift);
seriesNum++;
}
DCSSPACE.pivote = time;
}
DCSSPACE.view.chart.redraw();
请帮我解决这个问题。