Flot Share Подсказки - PullRequest
       3

Flot Share Подсказки

2 голосов
/ 25 августа 2011

Использование Flot для динамического отображения нескольких рядов.Использование Toottips для предоставления меток при наведенииЕсли несколько рядов имеют одинаковые точки на сетке, всплывающие подсказки отображают метку только из 1 серии.Хотелось бы, чтобы во всплывающих подсказках отображались общие метки для каждой серии в точке, показывающей ее метку.Спасибо!

1 Ответ

0 голосов
/ 27 августа 2011

Я не верю, что эта способность легко существует.Я бы предварительно проверил свои данные и запомнил все перекрывающиеся точки данных.Жизнеспособность этого подхода, конечно же, зависит от размера ваших наборов данных:

var data1 = [[0,3],[1,1],[2,2],[4,8],[5,10]];
var data2 = [[0,2],[1,2],[2,2],[4,6],[6,13]];

overLap = {}

for (var i = 0; i < data1.length; ++i)
{
    for (var j = 0; j < data2.length; ++j)
    {
        if ((data1[i][0] == data2[j][0]) && (data1[i][1] == data2[j][1]))
            overLap[data1[i]] = "label1 and label2";
    }
}

Затем на заговоре просто проверьте свой связывающий массив overLap:

$("#placeholder").bind("plothover", function (event, pos, item) {
        if (item) {   
          var key = [item.datapoint[0], item.datapoint[1]]
          if(key in overLap)
          {
               alert(overLap[key]);
          }
        }              
});

Вот jsfiddle с рабочим примером.

...