Highchart复制图表上的数据而不是刷新它

时间:2014-01-16 14:39:39

标签: highcharts

我使用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>

1 个答案:

答案 0 :(得分:2)

您可以使用允许操作数据的setData / addSeries函数代替销毁图表。 http://api.highcharts.com/highcharts#Chart.addSeries http://api.highcharts.com/highcharts#Series.setData