从一个数据框中绘制多条线

Ang*_*gie 2 python pandas bokeh

我有想要在一个pandas数据框中绘制的所有数据,例如:

         date flower_color  flower_count
0  2017-08-01         blue             1
1  2017-08-01          red             2
2  2017-08-02         blue             5
3  2017-08-02          red             2
Run Code Online (Sandbox Code Playgroud)

我需要在一个图上使用几条不同的线:x值应该是第一列的日期,y值应该是flower_count,y值应该取决于第二列中给出的flower_color.

如何在不过滤原始df并首先将其另存为新对象的情况下执行此操作?我唯一的想法是只为红色花朵创建一个数据框,然后指定它:

figure.line(x="date", y="flower_count", source=red_flower_ds)
figure.line(x="date", y="flower_count", source=blue_flower_ds)
Run Code Online (Sandbox Code Playgroud)

Vai*_*ali 5

你可以试试这个

fig, ax = plt.subplots()
for name, group in df.groupby('flower_color'):
    group.plot('date', y='flower_count', ax=ax, label=name)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述