我有两个数据帧df1
和df2
...我需要在同一个图中绘制来自每个数据帧的两条线。我已经能够绘制第一行,但我不知道如何绘制第二行......我有:
g = sns.FacetGrid(df1, col="S")
g.map(sns.lineplot, "Q", "M")
如何添加来自 df2
的第二行(比例相同)到 g
?
最佳答案
Assign每个帧都有一个唯一的帧 ID 字段和 concat他们。将帧 ID 传递给 FacetGrid
的 hue
参数。
示例
df1 = pd.DataFrame({'Q': np.arange(10),
'M': np.random.randn(10),
'S': np.random.choice([1, 2], 10)})
df2 = pd.DataFrame({'Q': np.arange(10),
'M': np.random.randn(10),
'S': np.random.choice([1, 2], 10)})
data = pd.concat([df1.assign(frame='df1'),
df2.assign(frame='df2')])
g = sns.FacetGrid(data, col="S", hue='frame')
g.map(sns.lineplot, "Q", "M")
plt.legend()
[输出]
关于python - 来自seaborn的facetgrid中不同数据帧的两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70394066/