我在 Pandas Dataframe 中有 2 个数据集,我想在同一个散点图上将它们可视化,所以我尝试了:

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()

但我总是得到 2 个单独的图表而不是一个
python - Seaborn 在同一个散点图上绘制两个数据集-LMLPHP
如何在同一张图上可视化两个数据集?我也可以对两个数据集使用相同的图例,但对第二个数据集使用不同的颜色吗?

最佳答案

以下应该适用于最新版本的 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()

关于python - Seaborn 在同一个散点图上绘制两个数据集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51732867/

10-11 08:31