matplotlib 崩溃的 Python

vza*_*tsk 5 python matplotlib

我是 Python 和 matplotlib 的新手。我编写的一个简单脚本崩溃了,我能够使用以下代码重现崩溃:

import matplotlib.pyplot as plt
plt.figure(1)
plt.figure(2)
#plt.show()
Run Code Online (Sandbox Code Playgroud)

错误是python.exe has stopped working。如果我取消对 plt.show() 的注释,它仍然会根据我关闭绘图的顺序崩溃(如果先关闭 2 则不会崩溃,如果先关闭 1 则崩溃)。我使用的是 Windows 7、Python 3.4,并且我从 www.lfd.uci.edu/~gohlke/pythonlibs/ 安装了各个模块。我是否有错误配置或对如何使用 matplotlib 的误解?

Lui*_*s B 5

您需要显式设置 TkAgg 后端。通过下面的代码,问题就解决了。

import matplotlib
matplotlib.use("TkAgg")
from matplotlib import pyplot as plt
Run Code Online (Sandbox Code Playgroud)

请注意,导入 pyplot 后设置 TkAgg 后端也不起作用;它也会崩溃。您需要在导入 pyplot 之前设置它。


Ven*_*esh 0

这可能是 python 3.x 的问题

我在我的 Windows 机器上尝试过使用 python 2.7,它工作得很好!

您可以将 python 降级到 2.7,或者如果您觉得为时已晚,为什么不尝试调用 close()

Import matplotlib
matplotlib.use('wxAgg')
Import matplotlib.pyplot as plt
# your scripts
plt.close('all')
Run Code Online (Sandbox Code Playgroud)