2016-03-08 66 views
0

我做了一个组合Flot系列切换样品与Flot工具提示。 但我有多个系列并隐藏其中一些时会出错。Flot plothover - pos.y is undefined

plothoverpos.y如果第一张图是隐藏可能是不确定的。 相反,有可能是Y1,Y2,Y3,...

相关代码(根据显示\隐藏图表):

$("#placeholder").bind("plothover", function (event, pos, item) { 

    var str = "(" + pos.x.toFixed(2) + ", " + pos.y.toFixed(2) + ")"; 
    $("#hoverdata").text(str); 
    . . . 

有一个简单的函数返回pos.y,Y1, y2,y3作为数组?还是我需要测试每个,如果它不是未定义的?

回答

2

只有当您有多个y轴,y1值是相对于第一个y轴的y位置,y2是第二个y轴上的位置等时才会发生这种情况(y值始终为与y1相同)。

如果一个轴被隐藏(因为所有使用该轴的数据系列都被隐藏),那么该值就会丢失(未定义)。但是,即使所有值(y1,y2,y3 ...)都存在,您仍需要知道用于悬停数据点的值。您从

item.series.yaxis.n 

得到这个和你的观点正确的y位置然后

pos['y' + item.series.yaxis.n] 

,如果你对他们有一个以上这同样适用于X轴真。

+0

我只能使用这个代码(item),否则y值没有相关轴没有意义。 – Atara

+0

正确。你还想在不超过数据点时显示坐标吗? – Raidri

+0

不在此项目中。 。 。 – Atara