Flot mousehover算法纯粹基于x位置进行检测?

使用jQuery的flot,有一种方法可以通过将项目hover在它们上来选择项目。 在选项中,grid [mouseActiveRadius]可以设置为一个数字,以指示选择圆的半径的所需长度。

例如,如果将其设置为10,则任何鼠标hover事件都将突出显示10像素半径圆中的最近点。

但是,我希望告诉flothover在x方向上最接近的点(而不是最近的点周期)。

在这个例子中的EG:第1点显然比第2点更接近x,但我仍然希望flot选择第2点,因为它在x方向上更接近。

x 1 2 

有没有办法用插件/内置function来做到这一点,还是我需要编写一个扩展flot默认行为的函数?

我找到的唯一方法是改变来源。 (它很糟糕,但通常更好的评论黑客而不是无法维护的解决方法)

在我的修订版中找到此代码:( function findNearbyItem() ,在2278行)

 if (s.lines.show || s.points.show) { for (j = 0; j < points.length; j += ps) { var x = points[j], points[j + 1]; if (x == null) continue; 

改成:

 if (s.lines.show || s.points.show) { for (j = 0; j < points.length; j += ps) { var x = points[j], y =0; // points[j + 1]; if (x == null) continue; 

希望这个答案可以帮助任何有同样问题的人。

y = 0不适用于大的y值。 y = axisy.datamin解决了这个问题。