0

我是使用 jQuery 的新手,我正在使用Highcharts.

我正在设置每 5 秒刷新一次的页面加载功能。在这 5 秒内,我想在图表系列中添加一个新点。将一个新点添加到系列之一时我没有问题,但是当我尝试将所有点添加到系列中的所有项目时,它将不起作用。

代码:

chart: {
    renderTo: 'container',
    type: 'line',
    events: {
        load: function() {  
            var newdata = [];
            // set up the updating of the chart each second
            setInterval(function() {
               var x = (new Date()).getTime(); // current time
                $.get('newdata.text', function(data) {
                  var lines = data.split("\n");
                  $.each(lines, function(n,elem) {
                    newdata[n] = elem;
                  });
                  chart.series[0].addPoint([x, newdata[0]], false, true);
                  chart.series[1].addPoint([x, newdata[1]], false, true);
                  chart.series[2].addPoint([x, newdata[2]], false, true);
                  chart.series[3].addPoint([x, newdata[3]], false, true);
                  chart.series[4].addPoint([x, newdata[4]], false, true);
                  chart.series[5].addPoint([x, newdata[5]], false, true);
                  chart.series[6].addPoint([x, newdata[6]], false, true); 
                }, "text"); 
              chart.redraw();
            }, 5000);
        }
    }
},

文本文件的输出是这样的:

107
0.00
0.00
0.00
60
0.00
0.00

当我在控制台中查看此代码时,我收到文本文件的语法导致错误的错误 - 请注意,我将它们与\n.

4

1 回答 1

0

您需要将值解析为数字,因此请尝试使用

chart.series[0].addPoint([x, parseFloat(newdata[0])], false, true);
于 2013-10-11T09:22:41.800 回答