【问题标题】:How to get mouse position with bokeh server?如何使用散景服务器获取鼠标位置?
【发布时间】:2020-06-06 16:58:26
【问题描述】:

我想通过使用散景服务器的回调函数获取鼠标在绘图中的位置。最新散景版本 2.0.2 的解决方案会很棒。

到目前为止,我发现这个 old solution 由于图形对象中的 tool_events 属性被弃用而不再起作用。

我发现这个 javascript example 不适用于 boekh 服务器上下文。

有人知道如何通过散景实现这一目标吗?

【问题讨论】:

标签: javascript python bokeh interactive


【解决方案1】:

如果您想在每次移动后获取鼠标位置,无论光标是否在任何字形上,您都可以只听mousemove 事件:

from bokeh.events import PointEvent
from bokeh.io import curdoc
from bokeh.plotting import figure

p = figure()
p.circle(0, 0)


def on_mouse_move(event: PointEvent):
    print(event.x, event.y, event.sx, event.sy)


p.on_event('mousemove', on_mouse_move)

curdoc().add_root(p)

您也可能对mouseentermouseleave 感兴趣。

【讨论】:

  • 如何保存或访问坐标?我在 Anaconda Prompt 中看到了坐标,但我不知道如何在 Spyder 中获取它们。
  • “我怎样才能访问” - 好吧,你在回调函数中有坐标。而且我不知道 Anaconda Prompt 和 Spider,我从未使用过它们。
  • 是否也有可能访问悬停的数据点的索引?
  • 在撰写答案时,没有内置方法 - 您必须手动查找索引。我不知道最近的 Bokeh 版本是否发生了一些变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-14
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多