使用Matplotlib 3.7版本出现AttributeError:找不到axes属性如何解决?
解决Matplotlib 3.7中
AttributeError: module 'matplotlib' has no attribute 'axes'的问题 问题根源
你代码里直接调用了matplotlib.axes,但axes并非matplotlib顶层模块的直接属性——Matplotlib的轴对象相关功能,正确的引用路径是matplotlib.axes.Axes,或者通过pyplot接口获取。
修复方案
- 错误用法示例:
import matplotlib ax = matplotlib.axes() # 此写法触发错误 - 正确用法1:通过pyplot创建轴
既然已经导入import matplotlib.pyplot as plt,直接用plt.subplots()生成画布和轴对象:import matplotlib.pyplot as plt fig, ax = plt.subplots() # 标准获取Axes对象的方式 - 正确用法2:直接导入axes子模块
若需直接使用Axes类,要明确导入对应子模块:import matplotlib.axes ax = matplotlib.axes.Axes(fig, [0.1, 0.1, 0.8, 0.8]) # 需传入画布和位置参数 - 正确用法3:修正拼写(若为笔误)
如果你原本想调用的是单轴相关的matplotlib.axis模块,直接修正拼写即可:import matplotlib.axis # 后续使用matplotlib.axis相关功能
额外说明
Matplotlib 3.7的模块层级和过往版本一致,这个错误不是版本问题,完全是引用路径错误导致的,按照上述方式修正代码就能解决。
内容的提问来源于stack exchange,提问作者Mudassir Ahmad
相关产品推荐
相关产品推荐

