我正在与Bokeh制作趋势图,以显示概念的流行程度如何随时间变化。我使用了酿酒器示例(https://docs.bokeh.org/en/latest/docs/gallery/stacked_area.html)。只有工具提示不能真正显示我想要的内容。
我修改了下面的6行:
source = ColumnDataSource(data=dict(
x=[x2] * len(areas),
y=[areas[y] for y in categories],
name=categories,
))
timesteps = [str(x.date()) for x in pd.date_range('1950-01-01', '1951-07-01', freq='MS')]
p = figure(x_range=FactorRange(factors=timesteps), y_range=(0, 800), tools="hover")
p.xaxis.major_label_orientation = np.pi/4
p.grid.minor_grid_line_color = '#eeeeee'
hover = p.select(dict(type=HoverTool))
hover.tooltips = [
('Name', ' @name'),
('Time', ' $x'),
('Count', ' @count'),
]
p.patches('x', 'y', source=source, color=colors, alpha=0.8, line_color=None)
output_file("brewer.html", title="brewer.py example")
show(p)
工具提示的前两行会显示名称(y0,y1,y2 ...)和日期;只有第三行我不知道。我想显示当时数据点的“高度”,即是否有类似
{'y0': {'1950-01-01': '3', '1950-02-01': '5', '1950-03-01': '6'},
'y1': {'1950-01-01': '10', '1950-02-01': '15', '1950-03-01': '14'}}
依此类推,我想在每个时间点显示y在给定时间点的受欢迎程度。该受欢迎程度已经以图形方式显示,但是为了使其更加明显,我还想提供所绘制的数字-我只是不知道如何。
我曾尝试构建不同的字典和列表,但只成功为每个概念的每个时间点显示一个数字,但该数字没有改变。
最佳答案
除非我对某些事情有误解,您是否可以不只是将悬停工具更改为以下内容? :
hover.tooltips = [
('Name', ' @name'),
("(Time, Height)", "($x, $y)"),
]
当您垂直或水平移动时,高度会有所不同。
关于python - 散景趋势/补丁图中带有两个参数的Hovertool,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42472723/