散景多行p.add_tools(HoverTool(),renderers = [multiline])不起作用

时间:2018-09-20 10:20:26

标签: bokeh multiline

因此,当尝试将HoverTool添加到绘图时,MultiLine Hover可以工作。

但是我遇到的问题是,我还有另一个突出显示的“单行”,我不希望悬停动作。 所以我只想将多行输入到renderers关键字

p.add_tools(HoverTool(tooltips = [('Name: ', '@Name'),
                                  ('Value', '@Value')],
                      renderers = [multiline]
                     )

我收到以下错误:

ValueError:预期为Auto或List(Instance(Renderer))的元素,得到了[MultiLine(id ='4982e76f-7dda-4d78-b729-240c9a29bdef',...)]

我想念什么?

1 个答案:

答案 0 :(得分:0)

字形(例如MultiLine)更像是对绘制内容的描述。有一个单独的GlyphRenderer可以使用字形并使用它们进行绘制(实际上,字形可以有多种版本,可以在不同情况下使用,例如用于选择,突出显示和抽取)。悬停工具的renderers arg需要GlyphRenderer,而不是字形。

如果您使用的是bokeh.plotting,则字形渲染器将由图中的方法返回:

r = plot.multi_line(...) # r is what to configure on the hover tool

如果您使用的是低级bokeh.models API,则必须已经为GlyphRenderer手动配置了MultiLine。而是将其传递给悬停工具。