Flot Share工具提示

时间:2011-08-24 21:19:28

标签: jquery flot

使用Flot动态绘制多个系列。使用Toottips在悬停时提供标签。如果多个系列在网格上具有相同的点,则工具提示仅显示1个系列的标签。希望工具提示在显示其标签的点上显示每个系列的共享标签。谢谢!

1 个答案:

答案 0 :(得分:0)

我不相信这种能力随时存在。我会预先筛选我的数据并记下任何重叠的数据点。当然,这种方法的可行性取决于数据集的大小:

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";
    }
}

然后在plothover上检查你的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