2013-08-21 58 views
0

我的圖表包含網站統計信息(x軸上的時間,y軸上的視圖),其系列每隔15分鐘更新一次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年8月21日13:30至2013年8月21日13:30。

+1

你考慮在addPoint移位參數()? –

+0

不,這種方法與芭芭拉的答案有何不同(更好?)? – acid

+0

我不知道移位參數。非常好!既然你沒有從最大分數開始,你仍然需要檢查。但是,當您達到最大點數並將其用於移位參數時,您可以設置布爾值。 http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/members/series-addpoint-append-and-shift/ –

回答

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);