Windows 10环境下VS Code内嵌终端中Matplotlib绘图无法正常显示的问题求助
解决VS Code内嵌终端中Matplotlib绘图窗口无法正常显示的问题
我之前也碰到过一模一样的状况!在Windows 10上用VS Code的内嵌终端(不管是Bash还是PowerShell)跑Matplotlib绘图脚本时,绘图窗口只在任务栏显示图标,死活打不开,但Jupyter和系统自带Terminal却完全正常。折腾了好几种方法后终于搞定了,给你分享几个靠谱的解决方案:
方案1:切换Matplotlib的后端(Backend)
VS Code内嵌终端的环境可能和Matplotlib默认的后端不兼容,咱们手动指定一个兼容的后端就行:
- 临时修改:在你的脚本开头加上这两行代码(二选一即可):
然后再导入import matplotlib matplotlib.use('TkAgg') # 推荐先试这个,兼容性较好 # matplotlib.use('QtAgg') # 如果TkAgg不行就换这个pyplot运行脚本,应该就能正常弹出窗口了。 - 永久修改:如果不想每次都加代码,可以修改Matplotlib的配置文件:
- 先运行这段代码找到配置文件路径:
import matplotlib print(matplotlib.matplotlib_fname()) - 打开输出的
matplotlibrc文件,找到backend那一行,把默认值改成backend: TkAgg或者backend: QtAgg,保存后重启VS Code即可。
- 先运行这段代码找到配置文件路径:
方案2:关闭VS Code的Conpty特性
Windows的Conpty终端特性有时候会干扰GUI程序的显示,关掉它试试:
- 打开VS Code设置(快捷键
Ctrl+,) - 在搜索框输入
terminal.integrated.windowsEnableConpty - 把这个选项的开关关掉(设置为
false) - 重启VS Code后再运行绘图脚本
方案3:检查终端类型与环境
- 如果用的是WSL的Bash终端,试试切换到PowerShell终端测试,或者反过来,有时候不同终端的环境配置会影响GUI窗口的渲染。
- 确保你的Python环境是统一的:VS Code内嵌终端用的Python解释器和Jupyter、系统Terminal用的是同一个,避免因为环境差异导致的问题(可以用
which python或where python查看路径)。
方案4:更新VS Code与插件
有时候是VS Code版本或Python插件的bug导致的,尝试:
- 把VS Code更新到最新版本
- 在扩展商店里更新Python插件
- 重启VS Code后再测试
用你的测试代码验证一下:
import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt x = [1, 1] plt.plot(x) plt.show()
应该就能看到绘图窗口正常弹出来啦!
内容的提问来源于stack exchange,提问作者David Zanger
相关产品推荐
相关产品推荐

