散景-为补丁图形上的单个字形创建自定义悬停工具

时间:2019-01-07 22:31:11

标签: python hover bokeh renderer

我根据Bokeh的文档中的the texas.py example创建了一张地图。我正在尝试在地图上添加一个具有自己的鼠标悬停行为的点。我在字形中添加了以下内容:

bc_glyph = Circle(x=barclays_x, y=barclays_y, size=10, line_color="black", fill_color="silver", line_width=1)

我试图以此创建自定义的HoverTool行为:

bc_ht = HoverTool(renderers=['bc_glyph'], tooltips=['Barclays Stadium'])

然后我打电话给plot.add_glyph(bc_glyph)。运行脚本时,得到以下输出:

ValueError: expected an element of either Auto or List(Instance(Renderer)), got ['bc_glyph']

快速搜索错误消息会导致Bryan helping another user with a similar issue,,因此我将其重写如下:

plot_add = plot.add_glyph(bc_glyph)
bc_ht = HoverTool(renderers=['plot_add'], tooltips=['Barclays Stadium'])

但是,返回相同的错误:

ValueError: expected an element of either Auto or List(Instance(Renderer)), got ['plot_add']

我了解到我向renderers输入了错误的信息,但是我不确定如何更正此错误。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您仍在传递字符串'plot_add'作为值。您需要传递实际变量:

bc_ht = HoverTool(renderers=[plot_add],           # no quote around plot_add
                  tooltips=['Barclays Stadium'])