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

Matplotlib代码在类中运行正常,类外为何报Figure无add_sublot属性?

问题成因解答

核心原因为代码拼写错误,与运行环境、代码放在类内/类外的差异无任何关联:

  • 你第一段类中代码调用的是add_subplot,这是Matplotlib Figure类的官方标准方法名,拼写正确因此可以正常运行
  • 你第二段类外代码误将方法名写为add_sublot,漏掉了中间的字母p,Figure类不存在该方法,因此直接抛出属性不存在的异常

修正后的类外代码如下:

import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

fig = plt.figure()
gs = GridSpec(1, 2, figure=fig)

# 修正拼写错误即可正常运行
fig.add_subplot(gs[0, 0])
fig.add_subplot(gs[0, 1])

plt.show()

建议后续开启IDE的拼写检查、Python类型提示功能,可以提前拦截这类低级拼写错误,减少排查时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:09:00