我在 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 个单独的图表而不是一个单独的图表 如何在同一张图上可视化两个数据集?我还可以为两个数据集使用相同的图例,但为第二个数据集使用不同的颜色吗?
请您参考如下方法:
以下内容应该适用于最新版本的 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 关键字参数设置它,以便标记基于数据集列:
sns.scatterplot(x='Std', y='ATR', data=concatenated,
hue='Asset Subclass', style='dataset')
plt.show()
