sns.pairplot显示密度曲线而不是直方图

时间:2020-05-31 11:24:33

标签: python-3.x seaborn

我的理解是,以下代码将在对角框中产生直方图。相反,我正在获得密度曲线?为什么是这样?如果删除“色相”,“调色板”和“ 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()

enter image description here

绘制相同的数据,但删除“色相”,“调色板”和“ diag_kws”

sns.pairplot(data=ins_pre,
        vars=["fatal_collisions", "premiums",'insurance_losses'],
        kind='scatter')

plt.show()
plt.clf()

enter image description here

1 个答案:

答案 0 :(得分:2)

来自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')