使用jQuery的flot,有一种方法可以通过将项目悬停在它们上来选择项目。在选项中,grid [mouseActiveRadius]可以设置为一个数字,以指示所需的选择圆半径。
例如,如果将其设置为10,则任何鼠标悬停事件都会突出显示10像素半径圆中的最近点。
但是,我希望告诉flot悬停在x方向上最接近的点(而不是最近的点周期)。
此示例中的EG:第1点显然比第2点更接近x,但我仍然希望flot选择第2点,因为它在x方向上更近。
x
1
2
有没有办法用插件/内置功能来做到这一点,还是我需要编写一个扩展flot默认行为的函数?
答案 0 :(得分:4)
我找到的唯一方法是更改来源。 (它很糟糕,但通常更好的评论黑客而不是无法维护的解决方法)
在我的修订版第2278行找到此代码:(function findNearbyItem()
)
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;
希望这个答案可以帮助任何有同样问题的人。
答案 1 :(得分:0)
y = 0不适用于大的y值。 y = axisy.datamin解决了这个问题。