You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Seaborn使用displot报错:Rectangle.set()获意外参数'hist'

解决Seaborn中AttributeError: Rectangle.set() got an unexpected keyword argument 'hist'的问题

报错原因

你使用的seaborn.displot()是Seaborn新版的Figure级绘图函数,它没有hist这个参数。这个参数属于旧版的distplot()函数,直接将旧版参数用到新版函数上就会触发该错误。

解决方法

你需要根据需求选择合适的参数来实现“无柱状条的转换直方图”(即只显示核密度估计曲线),以下是两种可行方案:

方案1:用displot()指定kind='kde'

直接告诉displot()绘制核密度估计曲线,这是新版Seaborn的标准用法:

import seaborn as sns
import matplotlib.pyplot as plt

sns.displot(df["sex"], kind='kde')
plt.show()

方案2:使用axes级的kdeplot()函数

如果你不需要displot()的Figure级布局功能,也可以直接用专门的核密度绘图函数:

import seaborn as sns
import matplotlib.pyplot as plt

sns.kdeplot(df["sex"])
plt.show()

补充说明

Seaborn在更新后,distplot()已被标记为过时,官方推荐使用displot()作为统一的Figure级绘图入口,但两者的参数体系差异较大。如果需要基于直方图做转换但不显示柱子,也可以在displot(kind='hist')中通过stat='density'将直方图转换为密度分布,再用element='poly'隐藏柱状条(不过这种场景更推荐直接用KDE曲线):

sns.displot(df["sex"], kind='hist', stat='density', element='poly', fill=False)
plt.show()

内容的提问来源于stack exchange,提问作者Aditya Narayan Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:06:18