找到在flot中选择的总和

时间:2009-05-24 22:51:34

标签: jquery user-interface graph flot

如果我将一个函数绑定到flot的“plotselected”事件,有没有办法获得所选区域的起点和终点的主系列索引?

我看到“plothover”你可以使用“item”变量,但不清楚它是否适用于选择。另外,我不希望每次调用函数时都要遍历整个系列。我的目标是获得类似的东西:

 $("#placeholder").bind("plotselected", function (itemx1, itemx2) {
          var x1 = itemx1.plot.pos //The index for this plot point in series";
          var x2 = itemx2.plot.pos //The index for this plot point in series";
          var sum = 0;
          for (var i = x1; i < x2; i++) {
               sum += d[i][0];
               }
          $("#total_selected").text(sum);
          });

如果我能得到它,我也可以输出(我的数据)类似的东西:

         "You earned X points over Y days, Z hours, F minutes. Good Job!"

看起来这应该很简单,但flot真的让我陷入了困境。

谢谢!

1 个答案:

答案 0 :(得分:5)

flot api documentation:“plot selected”事件函数有两个参数“event”和“range”。范围对象包含选择的x和y坐标。

$('#placeholder').bind('plotselected', function (event, ranges) {
  var x1 = ranges.xaxis.from;
  var x2 = ranges.xaxis.to;
  var y1 = ranges.yaxis.from;
  var y2 = ranges.yaxis.to;       
  var sum = 0;

  /* The values returned by the coordinates are floats. 
     You may need to tweak this to get the correct results.*/
  for (var i = x1; i < x2; i++) {
       sum += d[i][0];
  }
  $("#total_selected").text(sum);
});