Seaborn在同一散点图上绘制两个数据集

2024-03-28 14:44:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Pandas数据框中有两个数据集,我想将它们显示在同一个散点图上,所以我尝试:

import matplotlib.pyplot as plt
import seaborn as sns

sns.pairplot(x_vars=['Std'], y_vars=['ATR'], data=set1, hue='Asset Subclass')
sns.pairplot(x_vars=['Std'], y_vars=['ATR'], data=set2, hue='Asset Subclass')
plt.show()

但每次我都会得到两张独立的图表而不是一张 enter image description here 如何在同一绘图上可视化两个数据集?另外,两个数据集的图例是否相同,但第二个数据集的图例颜色不同?


Tags: 数据importpandasdataaspltvarsasset
1条回答
网友
1楼 · 发布于 2024-03-28 14:44:02

以下内容应适用于最新版本的seaborn(0.9.0)

import matplotlib.pyplot as plt
import seaborn as sns

首先,我们将两个数据集连接为一个,并分配一个dataset列,这将允许我们保留关于哪个行来自哪个数据集的信息。

concatenated = pd.concat([set1.assign(dataset='set1'), set2.assign(dataset='set2')])

然后我们使用来自最新seaborn版本(0.9.0)的sns.scatterplot函数,并通过style关键字参数设置它,以便标记基于dataset列:

sns.scatterplot(x='Std', y='ATR', data=concatenated,
                hue='Asset Subclass', style='dataset')
plt.show()

相关问题 更多 >