首页 > 解决方案 > Bokeh - 具有分类值的多线图

问题描述

我正在使用这个数据框:

在此处输入图像描述

我正在尝试使用 Bokeh 生成一个多线图,['Joined']并将其作为 x 值:

# Split columns for multi-line plot
x = df['Joined'].tolist()
y1 = df['Mean_value'].tolist()
y2 = df['Median_value'].tolist()

# Set Figure and Plot

p = figure(height=600, width=900, toolbar_location=None, x_range=x)

p.multi_line([x, y1], [x, y2], color=['#CE1141', '#06BB6'], alpha=[0.54, 0.40], line_width=3)

它现在给了我这个:

在此处输入图像描述

我可以通过绘制单独的线来获得所需的结果,但这使得使用 HoverTool 变得非常复杂。

有任何想法吗?

谢谢!

标签: pythonpandasbokeh

解决方案


您以错误的方式将值传递给方法。第一个参数是xs并且应该包含所有x系列,但包含任何y系列。Howefer 您传递[x, y1]的是xs,这会将y1值绘制为第二行的 x 坐标。您可能打算这样做:

p.multi_line([x, x], [y1, y2], ...)

推荐阅读