2009-05-24 14 views
2

flotの "plotselected"イベントに関数をバインドすると、選択した領域の開始点と終了点の主系列インデックスを取得する方法はありますか?flotで選択された合計の検索

"plothover"では "item"変数を使用できますが、それが選択肢に当てはまるかどうかはわかりません。さらに、関数が呼び出されるたびにシリーズ全体を反復する必要はありません。これは簡単であるべきよう

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

ようだが、FLOTは本当にです:私も出力(私のデータで)何かのようにはでき、私はそれを得ることができた場合

$("#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); 
      }); 

:私の目標は、のようなものを得ることですループのために私を投げる。

ありがとうございます!

+0

あなたが書くことが意味した:シリーズで、このプロット点について VAR×2 = itemx2.plot.posは//インデックス "; – dplante

+0

はい良い目を、私はそれを修正しました、私は合計をしたいです!。。 2つのポイントでより正確な合計を得ることができる基本的なリーマン和のタイプのアクションがありました。私のラインが曲線にならないので難しくはありませんが、それは私が止めるために得るものです代数2で。 – Anthony

答えて

5

flot api documentation:「プロット選択」イベント関数は、2つのパレメータ「イベント」と「範囲」をとります。 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); 
}); 
+1

あなたがリンクしたドキュメントには、 "plotselected"という言葉は全く書かれていません。 – Draemon

関連する問題