我是Python和matplotlib的新手。我写的一个简单的脚本正在崩溃,我能够用以下代码重现崩溃:
import matplotlib.pyplot as plt
plt.figure(1)
plt.figure(2)
#plt.show()
错误是python.exe has stopped working
。如果我取消对plt.show()的注释,它仍然会崩溃,这取决于我关闭绘图的顺序(如果先关闭2,则不会崩溃;如果首先关闭1,则会崩溃)。我使用的是Windows7、Python3.4,并从www.lfd.uci.edu/~gohlke/pythonlibs/安装了各个模块。是不是有什么配置不正确,或者对matplotlib的使用有误解?
发布于 2018-10-31 16:42:08
您需要显式设置TkAgg后端。使用下面的代码,问题就解决了。
import matplotlib
matplotlib.use("TkAgg")
from matplotlib import pyplot as plt
请注意,在导入pyplot之后设置TkAgg后端也不起作用;它也会崩溃。在导入pyplot之前需要对其进行设置。
发布于 2018-12-23 13:37:46
我遇到了这个问题,我以为是代码中的某一行导致了错误,但实际上,导入matplotlib.pyplot的行为正在杀死我的程序。我通过首先在详细模式下运行它来解决它:
python -v [programname].py
这显示了导入器在崩溃之前执行的最后一个操作。对我来说,这最后一行是:
import 'PyQt5' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F8EC9C0908>
这向我暗示了依赖库PyQt5
导致了问题,所以我运行了pip install PyQt5
,然后神奇地一切都开始工作了。
发布于 2014-11-16 09:04:00
这在python 3.x中可能会出现问题
我已经在我的windows机器上尝试了python2.7,它工作得非常好!
您可以将python降级到2.7,或者如果您觉得为时已晚,为什么不尝试调用close()
Import matplotlib
matplotlib.use('wxAgg')
Import matplotlib.pyplot as plt
# your scripts
plt.close('all')
https://stackoverflow.com/questions/26955017
复制