使seaborn.PairGrid看起来像pairplot

问题描述

在下面的示例中,如何使用seaborn.PairGrid()复制由seaborn.pairplot()创建的图?具体来说,我希望对角线分布跨越垂直轴。带有白色边框等的标记也会很棒。谢谢!

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset('iris')

# pairplot() example
g = sns.pairplot(iris,kind='scatter',diag_kind='kde')
plt.show()

# PairGrid() example
g = sns.PairGrid(iris)
g.map_diag(sns.kdeplot)
g.map_offdiag(plt.scatter)
plt.show()

enter image description here

enter image description here

解决方法

这是quite simple要实现的。您的剧情与pairplot所做的主要区别是:

  • 使用diag_sharey的{​​{1}}参数
  • 使用PairGrid代替sns.scatterplot

有了,我们有:

plt.scatter

enter image description here

,

要更改视觉样式:

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset('iris')

g = sns.PairGrid(iris)
g.map_diag(sns.kdeplot,shade=True)
g.map_offdiag(plt.scatter,edgecolor="w")
plt.show()

enter image description here