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」イベント関数は、2つのパラメーター「event」と「ranges」を取ります。範囲オブジェクトには、選択範囲の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 に答える