散景多线 p.add_tools(HoverTool(), renderers = [multiline]) 不工作
Bokeh MultiLine p.add_tools(HoverTool(), renderers = [multiline]) not working
因此,当尝试将 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', ...)]
我错过了什么?
字形(例如MultiLine
)更像是对绘制内容的描述。有一个单独的 GlyphRenderer
获取字形并使用它们来绘制(它实际上可以有多个版本的字形以在不同情况下使用,例如用于选择和突出显示以及抽取)。悬停工具的 renderers
arg 需要 GlyphRenderer
,而不是字形。
如果您使用的是bokeh.plotting
,则字形渲染器由图中的方法返回:
r = plot.multi_line(...) # r is what to configure on the hover tool
如果您使用的是低级别 bokeh.models
API,那么您必须已经为您的 MultiLine
手动配置了 GlyphRenderer
。而是将其传递给悬停工具。
因此,当尝试将 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', ...)]
我错过了什么?
字形(例如MultiLine
)更像是对绘制内容的描述。有一个单独的 GlyphRenderer
获取字形并使用它们来绘制(它实际上可以有多个版本的字形以在不同情况下使用,例如用于选择和突出显示以及抽取)。悬停工具的 renderers
arg 需要 GlyphRenderer
,而不是字形。
如果您使用的是bokeh.plotting
,则字形渲染器由图中的方法返回:
r = plot.multi_line(...) # r is what to configure on the hover tool
如果您使用的是低级别 bokeh.models
API,那么您必须已经为您的 MultiLine
手动配置了 GlyphRenderer
。而是将其传递给悬停工具。