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

使用Matplotlib绘制直方图报错:'Rectangle' object has no property 'normed'

解决Matplotlib直方图报错:AttributeError: 'Rectangle' object has no property 'normed'

问题原因

normed=True是Matplotlib旧版本的参数,在3.1.0及之后的版本中已被弃用并移除,取而代之的是density=True参数,用于实现相同的归一化直方图功能。另外你的代码还缺少poisson模块的导入,这也会导致后续运行报错。

修复后的完整代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson  # 补上缺失的poisson导入

epl_1617 = pd.read_csv("https://www.football-data.co.uk/mmz4281/1617/E0.csv")
epl_1617 = epl_1617[['HomeTeam','AwayTeam','FTHG','FTAG']]
epl_1617 = epl_1617.rename(columns={'FTHG': 'HomeGoals', 'FTAG': 'AwayGoals'})

# 计算泊松预测值
poisson_pred = np.column_stack([[poisson.pmf(i, epl_1617.mean()[j]) for i in range(8)] for j in range(2)])

# 替换normed为density
plt.hist(epl_1617[['HomeGoals', 'AwayGoals']].values, range(9), 
         alpha=0.7, label=['Home', 'Away'], density=True, color=["#FFA07A", "#20B2AA"])
plt.legend()  # 添加图例显示标签
plt.show()  # 显示图像

关键修改点

  • 将normed=True改为density=True,这是新版Matplotlib的标准参数
  • 添加from scipy.stats import poisson导入语句,解决poisson未定义的问题
  • 补充plt.legend()和plt.show(),确保图例和图像正常显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:30:43