Нахождение суммы выбранного во флоте - PullRequest
2 голосов
/ 25 мая 2009

Если я связываю функцию с событием «plotselected» для flot, есть ли способ получить индексы главной серии начальной и конечной точек выбранной области?

Я видел, что с "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!"

Кажется, это должно быть просто, но Флот действительно бросает меня за петлю.

Спасибо!

1 Ответ

5 голосов
/ 31 мая 2009

Из документации flot api : функция события plotselected принимает два параметра «событие» и «диапазоны». Объект 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);
});
...