2012-08-24 20 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

相关问题