我使用highcharts库每2分钟从csv文件中收集数据,并在图表中显示它。
该功能只是复制数据而不是刷新数据,而我的浏览器最终崩溃。有人可以帮忙吗?我的想法已经不多了。以下是我的代码。我已从代码中删除了所有xAxis,Yaxis,图例以缩短
<script type="text/javascript">
var chart;
var options = {
chart: {
renderTo: 'container',
defaultSeriesType: 'spline',
events: {
load: function() {
setInterval(function(){
refresh('file.csv');
}, 120000);
}
}
},
tooltip: {
valueSuffix: ' Views'
},
legend: {
layout: 'left'
},
series : []
};
function refresh(file) {
if(chart) chart.destroy();
$.get(file, function(data) {
var lines = data.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(',');
var series = {
data: []
};
$.each(items, function(itemNo, item) {
if (itemNo == 0) {
series.name = item;
} else {
series.data.push(parseFloat(item));
}
});
options.series.push(series);
});
chart = new Highcharts.Chart(options);
});
}
$(document).ready(function() {
refresh('file.csv');
});
</script>
<div id="container"></div>
答案 0 :(得分:2)
您可以使用允许操作数据的setData / addSeries函数代替销毁图表。 http://api.highcharts.com/highcharts#Chart.addSeries http://api.highcharts.com/highcharts#Series.setData