我有一个如下所示的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条语句为每个唯一的原始值生成单独的图,而不是多次运行。我尝试了groupby
或subplot
的一些变体,但没有任何效果。
答案 0 :(得分:3)
尝试使用seaborn.FacetGrid
来简单控制这些类型的图:
g = sns.FacetGrid(df, row='origin', hue='group')
g.map(sns.lineplot, 'date', 'score')
[出]