python-3.x - sns.pairplot 显示密度曲线而不是直方图

标签 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

绘制相同的数据,但删除 'hue'、'palette' 和 'diag_kws'

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

plt.show()
plt.clf()

enter image description here

最佳答案

来自 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/

相关文章:

linear-regression - 拟合回归后如何使用Seaborn的residplot?

python - 如何使用 hue 参数将中值标签添加到 Seaborn 箱线图

python - 如何在 Python 2 和 Python 3 中生成密码?安全地?

python - 如何在列表框下打包水平滚动条(python 和 tkinter)?

python-3.x - Google Datalab 从云存储中读取

python - 序列化器 - Django REST 框架(AttributeError : Got AttributeError when attempting to get a value for field `user` on serializer)

python - 无法导入已安装的模块(通过 pip)

python - seaborn 散点图日期时间 x 轴太宽

python - 更改 python seaborn lmplot 中的标记大小

python - matplotlib 或 seaborn 中的 utf-8 字符打印