Flot plotover - pos.y 未定义

Flot plothover - pos.y is undefined

我将 Flot series-toggle 示例与 Flot 工具提示 组合在一起。 但是当我有多个系列并隐藏其中一些时我会出错。

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

相关代码:

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

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

有没有简单的函数return pos.y, y1, y2, y3 为数组?或者如果不是未定义,我是否需要测试每个?

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

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

得到这个
item.series.yaxis.n

然后你的观点的正确 y 位置是

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

如果您有多个 x 轴,这同样适用。