Matplotlib 图表不显示?你可能漏掉了括号!

使用 `plt.show()` 而非 `plt.show` 才能真正显示图表;后者仅返回函数对象而不执行,是初学者最常见的“静默失败”原因。

你在 VS Code(或任何 Python 环境)中运行 matplotlib 代码时,图表未弹出——这几乎总是因为调用了函数名却未加括号,导致方法未实际执行。

你提供的代码中存在一个关键语法错误:

plt.show  # ❌ 错误:这只是引用函数对象,不触发绘图窗口

应改为:

plt.show()  # ✅ 正确:调用函数,渲染并显示图形窗口

完整修正后的代码如下:

import matplotlib.pyplot as plt

y = [1, 2, 3, 4, 5]
x = [10, 12, 5, 8, 3]

plt.plot(x, y)
plt.title('Line Chart')
plt.xlabel('x-axis')
plt.ylabel('y-axis')
plt.show()  # ← 注意这里的括号!

补充说明与注意事项:

  • plt.show() 是阻塞式调用:程序会暂停,直

    到你关闭图形窗口后才继续执行后续代码;
  • 若在 Jupyter Notebook 中运行,plt.show() 可省略(因 %matplotlib inline 或自动显示机制),但在 .py 脚本中必须显式调用
  • VS Code 本身不提供 matplotlib 扩展,它依赖你本地安装的 Python 环境和 matplotlib 库——只要 pip install matplotlib 成功且解释器配置正确,即可正常工作;
  • 终端输出中只显示 PS C:\... > & ...python.exe "xxx.py" 而无报错,恰恰说明代码“运行成功但未显示图表”,进一步印证是 show() 缺失括号所致(无异常,无声失效)。

? 小技巧:可在代码末尾添加 print("Plot displayed."),若该语句未打印,说明卡在 plt.show()(正常);若打印了却没图,则需检查后端配置(如 matplotlib.use('TkAgg')),但绝大多数情况下,补上括号就立即解决。