【发布时间】:2018-10-24 06:01:12
【问题描述】:
就目前而言,我看到 Bokeh 支持 HoverTool 用于多线字形。 但问题是,如果我想显示点的特定值 - 它会显示所有值列表而不是它。
请看下面的例子:
from bokeh.plotting import show, figure
from bokeh.models import ColumnDataSource, HoverTool
df = {'X_value': [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]],
'model': ['m1', 'm1', 'm2', 'm2'],
'color': ['red', 'red', 'blue', 'blue'],
'Y_value': [[0.50, 0.66, 0.70, 0.67], [0.65, 0.68, 0.71, 0.66], [0.80, 0.79, 0.84, 0.80], [0.80, 0.83, 0.76, 0.64]]}
source = ColumnDataSource(df)
p = figure(plot_height=400)
p.multi_line(xs='X_value', ys='Y_value', legend="model", color='color',
line_width=5, line_alpha=0.6, hover_line_alpha=1.0,
source=source)
p.add_tools(HoverTool(show_arrow=False, line_policy='next', tooltips=[
('X_value', '@X_value'),
('Y_value', '@Y_value')
]))
show(p)
我知道 $x, $y 的能力,但它显示在鼠标下是协调的,并且随着你移动鼠标它们会发生变化,这是不希望的行为。
有没有办法在多行字形中显示悬停点的准确值?
附言创建隐形线不是一个解决方案,因为我有更高级的图,带有过滤和链接图等。
谢谢!
【问题讨论】:
标签: python python-3.x hover bokeh multiline