来自 seaborn 的 facetgrid 中不同数据框的两条线
Two lines from different dataframes in seaborn's facetgrid
我有两个数据帧 df1
和 df2
...我需要在同一图中绘制来自每个数据帧的两条线。我已经能够绘制一条线,但我不知道如何绘制第二条线...我有:
g = sns.FacetGrid(df1, col="S")
g.map(sns.lineplot, "Q", "M")
如何从 df2
添加第二条线(比例相同)到 g
?
Assign a unique frame id field to each frame and 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()
[出局]
我有两个数据帧 df1
和 df2
...我需要在同一图中绘制来自每个数据帧的两条线。我已经能够绘制一条线,但我不知道如何绘制第二条线...我有:
g = sns.FacetGrid(df1, col="S")
g.map(sns.lineplot, "Q", "M")
如何从 df2
添加第二条线(比例相同)到 g
?
Assign a unique frame id field to each frame and 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()
[出局]