使 seaborn.PairGrid() 看起来像 pairplot()

Making seaborn.PairGrid() look like 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()

要更改视觉样式:

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

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

  • diag_sharey参数的使用PairGrid
  • 使用 sns.scatterplot 而不是 plt.scatter

由此,我们有:

iris = sns.load_dataset('iris')
g = sns.PairGrid(iris, diag_sharey=False)
g.map_diag(sns.kdeplot)
g.map_offdiag(sns.scatterplot)