我将Flot系列切换样本与Flot工具提示结合使用。
但是当我有多个系列并隐藏其中的一些时会出现错误。

在plothover中,如果隐藏了第一个图表,则可能未定义pos.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作为数组返回?还是我需要测试每个未定义的东西?

最佳答案

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

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

item.series.yaxis.n


然后正确的y位置就是

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


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

关于javascript - 浮点绘图仪-pos.y未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35872264/

10-16 14:39