执行代码,没有弹出图像窗口,提示下面的内容
来源:4-13 常用Python库Matplotlib
麦芽小程序
2018-09-27
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
我的代码:
* coding: UTF-8 *
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-2,2,100)
y1 = 3*x + 4
y2 = x**2
plt.plot(x,y1)
plt.plot(x,y2)
plt.show()
1回答
-
Oscar
2018-09-28
你是在什么操作系统环境下?看你的错误应该是你的 Matplotlib 用的 backend (后端) 是 Agg。
警告提示得很清楚:
Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
意思是:“Matplotlib 现在用的是 agg,这是一个非图形界面的后端(backend),因此不能显示图形”。
关于 Matplotlib 的后端(backend),可以看官方的英文解释:
https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend
或者这篇中文的解释(非常详细,还列出了所有后端的可能值):
-----------------------------------------
我的 Ubuntu 16.04 没有问题,因为我的 Matplotlib 用的是 TkAgg 这个后端。
用 matplotlib.get_backend() 方法可以查看目前使用的是什么后端:
matplotlib.get_backend()
所以,你要不试试把你的代码改成用 TkAgg 的后端(或其他后端可能也行):
import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt import numpy as np x = np.linspace(-2,2,100) y1 = 3*x + 4 y2 = x**2 plt.plot(x,y1) plt.plot(x,y2) plt.show()
当然了,你用 TkAgg 的后端就会需要安装 Tkinter 这个 Python 的软件:
sudo apt install python-tk
20
相似问题