5

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

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

但是,我希望改为告诉 flot 悬停在 x 方向上最近的点(而不是最近的点周期)。

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

           x
1







          2

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

4

2 回答 2

4

我发现的唯一方法是更改​​来源。(这很糟糕,但它通常比一个不可维护的解决方法更好的是一个评论良好的黑客)

找到此代码:(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;

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

于 2011-04-08T22:37:06.770 回答
0

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

于 2014-01-23T16:07:46.810 回答