2

如果我将函数绑定到 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 真的让我陷入了循环。

谢谢!

4

1 回答 1

5

来自flot api 文档:“plotselected”事件函数采用两个参数“事件”和“范围”。范围对象包含选择的 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);
});
于 2009-05-31T19:20:03.740 回答