Python Bokeh-如何为两个数据源制作一个单独的工具

Python Bokeh-如何为两个数据源制作一个单独的工具,python,bokeh,Python,Bokeh,我有一个数字: plot = figure(plot_height=400, plot_width=1800, title="Volume [mL]", tools=["hover", "xpan", "reset", "box_zoom", "xwheel_zoom", "undo", "redo", "save"]) 我在上面画了两条线: prog = pvp_plot.line('timestamp_ms', 'volume_mL', source=Colum

我有一个数字:

plot = figure(plot_height=400, plot_width=1800, title="Volume [mL]",
              tools=["hover", "xpan", "reset", "box_zoom", "xwheel_zoom", "undo", "redo", "save"])
我在上面画了两条线:

prog = pvp_plot.line('timestamp_ms', 'volume_mL', source=ColumnDataSource(programmed),
                     line_width=3, line_alpha=0.6, line_dash="dashed", color="black",
                     legend="Programmed")
exec = pvp_plot.line('timestamp_ms', 'volume_mL', source=ColumnDataSource(executed),
                     line_width=3, line_alpha=0.6, color="red", legend="Executed")
我想有一个单独的HoverTool弹出窗口,显示同一时间戳的两个值(编程和执行)

如果我尝试

pvp_exec_hover_tooltips = [
    ("Time", "@timestamp_ms{%Y-%m-%d %H:%M:%S.%3N}"),
    ("Programmed", "@volume_mL"),
    ("Executed", "@volume_mL")
]
它将在volume\u mL处显示相同的值两次。这听起来很正确,因为该工具不知道如何区分数据。但是,我希望以相同的方式格式化(和命名)数据,但在HoverTool中显示时仍然能够区分数据(类似于@prog\u volume\u mL和@exec\u volume\u mL)。我可以在不修改数据格式的情况下执行此操作吗

我成功地创建了两个鼠标悬停工具,但这并不理想(它们大部分时间重叠,我可以在光标上方和下方分别显示一个,但如果现在我有3行,等等……)


谢谢你的帮助

您可以稍微滥用
CustomJSHover
来完成此操作。不幸的是,我目前没有时间来构建一个完整的示例。您可以稍微滥用
CustomJSHover
来完成此任务。不幸的是,我目前没有时间构建一个完整的示例。