问题描述
在下面的示例中,如何使用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()
解决方法
这是quite simple要实现的。您的剧情与pairplot
所做的主要区别是:
- 使用
diag_sharey
的{{1}}参数 - 使用
PairGrid
代替sns.scatterplot
有了,我们有:
plt.scatter
,
要更改视觉样式:
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()