一次绘制多个图

时间:2019-08-16 13:12:21

标签: python python-3.x pandas matplotlib seaborn

我有一个如下所示的df:

         date        group         score    origin    ...
0        1           group1            1    0         ...
1        1           group2            2    1         ...
2        2           group2            5    2         ...
3        2           group1            2    3         ...
4        1           group1            1    3         ...
5        1           group2            2    2         ...
6        2           group2            5    1         ...
7        2           group1            2    0         ...

,我需要制作多个单独的折线图。每个origin的唯一值之一,x轴上为date,y轴上为score

当前我的代码如下:

sns.lineplot(x='date', y='score', hue='group', style_order=order, data=df)
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)

我希望能够使用1条语句为每个唯一的原始值生成单独的图,而不是多次运行。我尝试了groupbysubplot的一些变体,但没有任何效果。

1 个答案:

答案 0 :(得分:3)

尝试使用seaborn.FacetGrid来简单控制这些类型的图:

g = sns.FacetGrid(df, row='origin', hue='group')
g.map(sns.lineplot, 'date', 'score')

[出]

enter image description here