首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不同行的多个HoverTools (bokeh)

不同行的多个HoverTools (bokeh)
EN

Stack Overflow用户
提问于 2018-03-14 15:43:49
回答 1查看 5.8K关注 0票数 5

我在bokeh图上有多行,我希望HoverTool显示每一行的值,但是使用以前堆栈溢出答案中的方法是行不通的:

https://stackoverflow.com/a/27549243/3087409

下面是答案中的相关代码片段:

代码语言:javascript
运行
复制
fig = bp.figure(tools="reset,hover")
s1 = fig.scatter(x=x,y=y1,color='#0000ff',size=10,legend='sine')
s1.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}
s2 = fig.scatter(x=x,y=y2,color='#ff0000',size=10,legend='cosine')
fig.select(dict(type=HoverTool)).tooltips = {"x":"$x", "y":"$y"}

这是我的密码:

代码语言:javascript
运行
复制
from bokeh.models import HoverTool
from bokeh.plotting import figure

source = ColumnDataSource(data=dict(
    x = [list of datetimes]
    wind = [some list]
    coal = [some other list]
    )
)

hover = HoverTool(mode = "vline")

plot = figure(tools=[hover], toolbar_location=None,
    x_axis_type='datetime')

plot.line('x', 'wind')
plot.select(dict(type=HoverTool)).tooltips = {"y":"@wind"}
plot.line('x', 'coal')
plot.select(dict(type=HoverTool)).tooltips = {"y":"@coal"}

据我所知,这相当于我链接到的答案中的代码,但当我悬停在图上时,两个悬停工具框都显示相同的值,即wind值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-15 05:48:45

您需要为每个情节添加渲染器。看看这个。另外,对于两个值,也不要使用相同的y label,更改名称。

代码语言:javascript
运行
复制
from bokeh.models import HoverTool
from bokeh.plotting import figure

source = ColumnDataSource(data=df)

plot = figure(x_axis_type='datetime',plot_width=800, plot_height=300)

plot1 =plot.line(x='x',y= 'wind',source=source,color='blue')
plot.add_tools(HoverTool(renderers=[plot1], tooltips=[('wind',"@wind")],mode='vline'))

plot2 = plot.line(x='x',y= 'coal',source=source,color='red')
plot.add_tools(HoverTool(renderers=[plot2], tooltips=[("coal","@coal")],mode='vline'))

show(plot)

输出结果如下。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49282078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档