我正在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坐标。
答案 0 :(得分:0)
从Bokeh 1.0.4开始,内置的悬停工具没有这种模式。悬停工具仅在字形被光标“击中”时显示。这样做的原因是,诸如@x
之类的字段说明符的意思是“在CDS中为光标下方的字形显示值”。如果光标下没有字形,工具提示中的该字段应显示什么?
或者,您可以使用低级鼠标事件来用位置信息更新图外的某些固定Div
。一个相关的示例是here。