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

使用seaborn distplot设置直方图尺寸报错:意外关键字参数figsize

解决sns.distplot()中figsize参数报错的问题

嘿,这个问题我之前也踩过坑!sns.distplot()确实不支持figsize这个参数——因为figsize是Matplotlib画布(Figure)的专属参数,并不是Seaborn distplot函数的参数,所以直接传进去才会报“意外关键字参数”的错误。

给你两种实用的解决办法:

方法一:先创建指定尺寸的Matplotlib画布,再绘图

先通过Matplotlib的plt.figure()创建一个指定大小的画布,之后再调用distplot绘图,所有绘图内容都会自动适配这个画布尺寸:

import matplotlib.pyplot as plt
import seaborn as sns

# 初始化画布,设置宽20、高8
plt.figure(figsize=(20, 8))
# 绘制直方图
sns.distplot(MSoft['pct_change'].dropna(), bins=100, color='magenta')
# 显示图像
plt.show()

方法二:改用Seaborn官方推荐的displot()函数(更推荐)

需要注意的是,distplot()已经被Seaborn官方标记为弃用了,未来版本可能会移除。官方推荐用displot()替代,这个函数支持通过height(高度)和aspect(宽高比)来控制图的尺寸:

import seaborn as sns

# 要达到figsize=(20,8)的效果,aspect = 宽度/高度 = 20/8 = 2.5
sns.displot(MSoft['pct_change'].dropna(), bins=100, color='magenta', height=8, aspect=2.5)

这样设置后,生成的图宽度就是8*2.5=20,和你想要的尺寸完全一致,同时还能避免弃用函数带来的后续兼容问题。

内容的提问来源于stack exchange,提问作者user7057659

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:08:42