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

WSL环境下Matplotlib代码无图像输出问题咨询

解决WSL下Jupyter Notebook中Matplotlib图像不显示的问题

嘿,我来帮你搞定这个图像不显示的问题!你代码里的一个小设置直接导致了图像没法在Jupyter里正常显示,咱们一步步来调整:

问题根源

你代码里的第3行 matplotlib.use('Agg') 是关键问题!Agg 是Matplotlib的非交互式后端,它的作用是生成图像文件(比如保存成PNG),完全不会在Jupyter Notebook这种交互式环境里显示图像——这就是为什么你只看到了"Hello World",却看不到画好的图。

解决方案

1. 移除Agg后端设置

直接删掉第3行 matplotlib.use('Agg'),Jupyter Notebook会自动适配适合的交互式后端(默认是inline,会把图像直接嵌入到Notebook的单元格里)。

2. 可选:手动指定inline后端(确保兼容性)

如果删掉之后还是有显示问题,可以在导入matplotlib后加上Jupyter的魔法命令 %matplotlib inline,强制让图像嵌入显示。

修改后的完整代码

from __future__ import print_function
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import math

# 加上这个魔法命令,确保图像在Notebook里正常显示
%matplotlib inline

print("hello world!")
SIZE=4
img = np.zeros((SIZE,SIZE))
for n in range (0, SIZE):
    for m in range (0,SIZE):
        if (n & 0x1) ^ (m & 0x1):
            img[n, m] = 255

plt.matshow(img);

额外注意(WSL环境专属)

如果之后你想让图像弹出独立窗口显示(而不是嵌入Notebook),需要在WSL里配置X服务器(比如安装VcXsrv或Xming),然后设置环境变量 export DISPLAY=:0,再把后端改成TkAgg或者Qt5Agg。不过对于入门练习来说,用inline嵌入显示是最省心的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:53:33