Python Bokeh - HoverTool:图形的坐标而不是数据点
Posted
技术标签:
【中文标题】Python Bokeh - HoverTool:图形的坐标而不是数据点【英文标题】:Python Bokeh - HoverTool: Coordinates for the figure and not data points 【发布时间】:2019-06-18 10:50:54 【问题描述】:我在 Windows 和 Python 3.6.6 中使用 Bokeh 版本 1.0.3。
我有一个散点图,我想弄清楚的是当鼠标光标位于(矩形)图形内部但外部/不指向散点图点时,获取图形的 x、y 坐标。
代码在这里:
from bokeh.plotting import figure, show
from bokeh.models import HoverTool
N = 10
x = [1,2,3,4,5,6,7,8,9,10]
y = [-1,2,-3,4,5,1,-2,3,-4,-5]
r = 0.3
hover = HoverTool(
tooltips=[
("index", "$index"),
("data (using $) (x,y)", "($x, $y)"),
("data (using @) (x,y)", "(@x, @y)"),
("canvas (x,y)", "($sx, $sy)")
])
TOOLS = [hover]
p = figure(tools="hover,reset,save")
p = figure(tools=TOOLS)
p.scatter(x, y, radius=r, fill_alpha=0.6,line_color=None)
show(p)
例如,当我们指向黄色突出显示的区域时,我们将获得 x,y 坐标。
【问题讨论】:
【参考方案1】:从 Bokeh 1.0.4 开始,内置悬停工具没有这种模式。悬停工具仅在光标“击中”字形时显示。原因是诸如@x
之类的字段说明符的意思是“在CDS 中显示光标下的字形的值”。如果光标下没有字形,工具提示中的该字段应该显示什么?
作为替代方案,您可以使用低级鼠标事件来使用位置信息更新绘图外部的一些固定Div
。一个相关的例子是here。
【讨论】:
以上是关于Python Bokeh - HoverTool:图形的坐标而不是数据点的主要内容,如果未能解决你的问题,请参考以下文章
具有半透明背景的 Python Bokeh Hovertool