gpt4 book ai didi

python - 不同线条的多个 HoverTools( Bokeh )

转载 作者:太空宇宙 更新时间:2023-11-04 07:15:17 25 4
gpt4 key购买 nike

我在 Bokeh 图上有多条线,我希望 HoverTool 显示每条线的值,但使用上一个 stackoverflow 答案中的方法不起作用:

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

这是该答案的相关代码片段:

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"}

这是我的代码:

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 .

最佳答案

您需要为每个绘图添加渲染器。检查这个。也不要对两个值使用相同的y 标签 更改名称。

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)

输出看起来像这样。 OUTPUT

关于python - 不同线条的多个 HoverTools( Bokeh ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49282078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com