0

我的图表包含网站统计数据(x 轴上的时间,y 轴上的视图),它的系列addPoint()每十五分钟按方法更新一次。然而,在收集了越来越多的数据后,我不想展示所有这些数据,只需将它们限制在最后一小时。

举个例子——如果我的系列包含数据:

2013-08-21 12:15 2000
2013-08-21 12:30 3000
2013-08-21 12:45 2500
2013-08-21 13:00 2300
2013-08-21 13:15 2700
2013-08-21 13:30 3000

我只想在图表上显示 2013-08-21 13:30 到 2013-08-21 13:30。

4

1 回答 1

2

每次您添加一个点时,我都会检查第一个点是否 < 无论您想走多远。如果是,请将其删除。

if (chart.series[0].data[0].x < time cutoff) {

    chart.series[0].data[0].remove();
}

由于您正在执行一致的时间间隔,因此只需检查第一点就应该是安全的。

http://api.highcharts.com/highcharts#Point.remove()

基于上述评论的另一种选择:

var bShift = false;
if(!bShift && chart.series[0].data[0].x < time cutoff)  
    bShift = true;
chart.series[0].addPoint(point, true, bShift);
于 2013-08-21T16:03:46.083 回答