我的理解是下面的代码将在对角线框中生成直方图。相反,我得到的是密度曲线?为什么是这样?如果我删除“色调”、“调色板”和“diag_kws”,它会按预期生成直方图。有什么意见吗?
sns.pairplot(data=ins_pre,
vars=["fatal_collisions", "premiums",'insurance_losses'],
kind='scatter',
hue='Region',
palette='RdBu',
diag_kws={'alpha':.5})
plt.show()
plt.clf()
绘制相同的数据,但删除 'hue'、'palette' 和 'diag_kws'
sns.pairplot(data=ins_pre,
vars=["fatal_collisions", "premiums",'insurance_losses'],
kind='scatter')
plt.show()
plt.clf()
最佳答案
来自 documentation :
seaborn.pairplot(data, hue=None, hue_order=None, palette=None, vars=None, x_vars=None, y_vars=None, kind='scatter', diag_kind='auto', markers=None, height=2.5, aspect=1, corner=False, dropna=True, plot_kws=None, diag_kws=None, grid_kws=None, size=None) [...] diag_kind{‘auto’, ‘hist’, ‘kde’, None}, optional Kind of plot for the diagonal subplots. The default depends on whether "hue" is used or not.
所以,你应该这样调用这个函数:
sns.pairplot(data=ins_pre,
vars=["fatal_collisions", "premiums",'insurance_losses'],
kind='scatter',
hue='Region',
palette='RdBu',
diag_kind='hist')
关于python-3.x - sns.pairplot 显示密度曲线而不是直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62115464/