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

如何修复Python绘图代码中的NameError(plt未定义)问题

解决NameError: name 'plt' is not defined问题

问题重现

运行以下Python代码时出现NameError错误,提示name 'plt' is not defined:

import numpy as np

import matplotlib.pyplot as plt

from scipy import stats

 
mu, sigma = 0,2

x= mu + sigma*np.random.randn(25000)

n, bins, patches = plt.hist(x, 25, facecolor='blue', alpha=0.75)

 
import matplotlib.mlab as mlab

y = mlab.normpdf( bins, mu, sigma)

l = plt.plot(bins, y, 'r--', linewidth=5)

plt.xticks(fontsize=12, rotation=0)

plt.yticks(fontsize=12, rotation=90)

plt.xlabel('x', fontsize=16, color='blue')

plt.ylabel('normal', fontsize=16, color='blue')

plt.title(r'$\mathrm{Histogram\ of\ IQ:}\ \mu=0.0, \ \sigma=2.0$')

报错信息:

NameError
Traceback (most recent call last)
in <cell line: 1>()
----> 1 plt.title(r'$\mathrm{Histogram\ of\ IQ:}\ \mu=0.0, \ \sigma=2.0$')
NameError: name 'plt' is not defined

尝试删除第16行或部分代码后,问题仍未解决。

问题原因

代码中虽有import matplotlib.pyplot as plt,但报错说明这条导入语句未被实际执行,常见场景:

  • 在Jupyter等分段执行环境中,包含导入语句的单元格未运行,或运行顺序错误
  • 导入语句被意外注释、放在未执行的条件分支中
  • 极少数情况是matplotlib安装异常,导致导入静默失败(通常会先抛出ImportError)

修复方案

  1. 优先执行导入语句
    在所有使用plt的代码前,单独运行import matplotlib.pyplot as plt,确认无报错。如果是Jupyter环境,先执行包含该导入的单元格,再运行后续代码。

  2. 检查matplotlib安装状态
    运行以下命令确认安装:

    pip list | grep matplotlib
    

    未安装则执行:

    pip install matplotlib
    
  3. 最小代码验证
    先运行以下代码确认plt可用:

    import matplotlib.pyplot as plt
    plt.plot([1,2,3])
    plt.show()
    

    若正常运行,再逐步添加原代码的其他部分,排查干扰逻辑。

  4. 替代写法(可选)
    若别名导入仍有问题,可直接用完整模块名调用:

    matplotlib.pyplot.title(r'$\mathrm{Histogram\ of\ IQ:}\ \mu=0.0, \ \sigma=2.0$')
    

    但更建议解决导入未执行的根本问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 22:48:11