2012-08-24 32 views
0

我正在成功使用Flot來繪製我正在使用時間序列的項目的使用情況。 flot圖開始於最近24小時,並允許平移和縮放。在平移時動態加載flot時間序列的數據

的數據在服務器上採樣,每15分鐘,轉化成JSON和經由忙輪詢AJAX(它檢查的變化)由海軍報圖形下載。

幾個月後,我有這麼多的數據(當然),數組變得相當大。我想限制從服務器下載的json只包含flot圖的可見光譜。限制初始下載很容易,但我不知道如何處理平移和縮放。我已經有了綁定到平移和縮放的事件處理程序,但是它們會爲每一步移動(特別是平移)。

是否有可能檢測平移開始和結束時?

+0

黑客jquery.flot.navigate.js和注射在onDragStart一些州和onDragEnd我能夠在plotpan事件作出明智的決定之後。我想到,我還可以檢查數據數組中是否已經存在新的xaxis最小/最大值,並且只有AJAX獲取增量 – Jamgold

回答

0

[編輯,因爲我錯過了一個事實,即你已經有一個綁定的處理程序]

如果您已經捕捉plotpan事件,你可以抖了。添加一個計時器,該計時器在平移後觸發一定的時間(例如500毫秒),並在每次繪圖觸發時重置。這種方式僅在許多連續事件結束時運行一次。

一個很簡單的例子:

var delay = null; 
element.on("plotpan", function() { 
    if (delay) clearTimeout(delay); 
    delay = setTimeout(function() { 
     // do your stuff here 
     delay = null; 
    }, 500); 
}); 
+0

是唯一的方法嗎?沒有掛鉤或平移開始|結束變量? – Jamgold

相關問題