向高图表X轴添加更多数据

时间:2015-04-17 09:21:37

标签: javascript charts highcharts

我尝试使用highchart实时更新图表,使用setInverval函数每2秒更新一次图表并使用.addPoint添加数据。

setInterval(function (data) {
    var inf = parseInt(data.stat);
    chart_data.addPoint([x,purple], true, true);
},2000);

一切都运行良好,除了图表没有太多数据,而且每秒都会推动以前添加的数据消失,因此它没有保留足够的数据。我希望图表在清除旧数据之前保存更多数据。就像保持最后5分钟的数据一样,每隔2秒就添加一个新数据,之前5分钟添加的数据被清除。

目前图表看起来像这样,

enter image description here

xAxis: {
    type: 'datetime',
    tickPixelInterval: 10
       },

显然降低tickPixelInterval似乎也无济于事。我该如何解决?感谢

1 个答案:

答案 0 :(得分:1)

您正在使用:

chart_data.addPoint([x,purple], true, true);

第二个是shift参数(参见API:http://api.highcharts.com/highcharts#Series.addPoint)并且会导致系列在添加最新数据时丢弃第一个数据点。为避免这种情况,您可以检查是否有足够的数据来执行班次。例如2秒* 150 = 5分钟(300秒),因此如果addPoint被调用151次以后,则shift参数应为true,否则为false。