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

如何在PythonAnywhere Bash控制台用Matplotlib绘图且不保存为文件

在PythonAnywhere Bash控制台用Matplotlib无文件绘图的方法

两种实现方案,根据你的控制台环境选择:

方案1:带X11转发的图形界面显示

如果你通过SSH带X11转发登录PythonAnywhere(命令:ssh -X 你的用户名@pythonanywhere.com),可以直接显示图形窗口:

  1. 删除原代码中的matplotlib.use("Agg")(Agg是无界面后端,仅支持保存文件)
  2. 把fig.savefig("graph.png")替换为plt.show(),调用交互式显示

修改后的代码:

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(range(100))

plt.show()

方案2:纯文本终端的ASCII绘图

如果用PythonAnywhere网页端的Bash控制台(无X11支持),可以用ASCII字符形式输出图形:

  1. 指定dumb后端,这个后端专门用于纯文本环境生成ASCII图形
  2. 同样用plt.show()替代保存文件的代码,图形会直接打印在控制台

修改后的代码:

import matplotlib
matplotlib.use("dumb")
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(range(100))

plt.show()

关键说明

  • Agg后端是非交互式的,只能将图形写入文件,无法直接显示,所以必须替换或移除这个配置
  • 网页端Bash控制台默认没有X11转发权限,只能用ASCII方案;SSH登录时记得加-X参数开启X11转发才能用图形界面方案

内容的提问来源于stack exchange,提问作者Jesy Jeff Laura. E

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:15:54