我将 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作为数组返回?或者我是否需要测试它们是否未定义?
答案 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轴也是如此。