如何根据给定的x值显示悬停信息?

时间:2019-05-05 08:16:05

标签: bokeh

我想根据给定的x值而不是当前的鼠标位置在股票图上显示悬停信息。

编辑:使用滑块设置x值。

EDIT2: 我正在运行文件夹应用程序,并使用滑块“更改时”事件。我想将滑块值传递给绘图。有几个图,滑块只是在所有图中同时突出显示一个位置的功能。这是相关代码:

slider.on_change('value', update_plots)

def update_plots(attr, old, new):
    # some code involving 'slider.value'
    # e.g. plot.set_hover_by_x_value(slider.value)

EDIT3: 最小的示例是单线图和用于突出显示线上点的滑块:

p = figure(plot_width=400, plot_height=400)
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)

slider = Slider(start=0, end=5, value=0, step=1, title='x-value')
slider.on_change('value', update_plots)

def update_plots(attr, old, new):
    # magic code to highlight the point "slider.value" in "p"

2 个答案:

答案 0 :(得分:1)

从Bokeh 1.1开始,没有使用编程方式来创建悬停工具提示。目前,它们与明确的,实际的UI交互相关联(例如,鼠标移动并击中分散点)。

作为替代,您可以使用Label批注来在给定位置显示信息。

答案 1 :(得分:0)

Bokeh中有两种工具提示:

  • @:与ColumnDataSource对象中的列关联
  • $:特殊字段,例如鼠标坐标

在这种情况下,您应该在工具提示列表中使用@column_with_x_values作为悬停工具,以显示给定的x值。

有关悬停工具和示例的更多信息,请参见this page