情节plothover - pos.y未定义

时间:2016-03-08 16:08:05

标签: javascript jquery flot

我将 Flot series-toggle 样本与 Flot工具提示结合起来。 但是当我有多个系列并隐藏其中一些时,我会收到错误。

plothover 中,如果隐藏第一个图表,则 pos.y 可能未定义。 相反,可能有y1,y2,y3 ......(根据show \ hide chart?)

相关代码:

  $("#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作为数组返回?或者我是否需要测试它们是否未定义?

1 个答案:

答案 0 :(得分:2)

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

如果隐藏了一个轴(因为隐藏了使用该轴的所有数据系列),则缺少该值(未定义)。但即使所有值(y1,y2,y3 ......)都存在,您也需要知道哪些值用于悬停数据点。你从

得到这个
item.series.yaxis.n

然后

指出你的观点的正确y位置
pos['y' + item.series.yaxis.n]

如果你有多个轴,那么x轴也是如此。