我在散景中遇到多线图的问题。当我显示图表时,我无法获取值。我正在使用系列数据类型。
代码:
df = pandas.read_csv("Data.csv", parse_dates=["time"])
result = df.groupby(['time','up','down'], as_index = False)['up', 'down'].sum()
p = Figure(width=500, height=250,logo =None,
sizing_mode='scale_width',
tools="pan, box_zoom, wheel_zoom, save, reset, box_select",
x_axis_type="datetime",
title="Graph:",
x_axis_label="Time Frame",
y_axis_label="Utilization (GB)",
toolbar_location="below",
toolbar_sticky=False)
up = result["up"]
time = result["time"]
down = result["down"]
p.multi_line(xs = [time, time], ys = [up, down], color=['#2828B0', '#BC0096'], line_width=1, legend='graph_1')
hover = HoverTool(tooltips = [('Time', '@time'),
('data', '@up')])
p.add_tools(hover)
p.show()
答案 0 :(得分:2)
悬停工具提示的@
字段指的是Bokeh ColumnDataSource
对象中的列。由于您尚未使用您选择的列名明确创建CDS,因此在这种情况下,Bokeh会为您准备一个标准列名xs
和ys
。所以:
HoverTool(tooltips = [
('Time', '@xs'),
('data', '@ys')]
)
这会将悬停显示在多行的所有段上。没有办法只为一个或另一个做悬停工作。如果您需要,则必须使用单独的line
来代替multi_line
。