当前位置:  开发笔记 > 编程语言 > 正文

无法手动关闭matplotlib绘图窗口

如何解决《无法手动关闭matplotlib绘图窗口》经验,为你挑选了2个好方法。

我在Mac OS X Yosemite上运行Python v2.7和matplotlib v1.5.0.到目前为止,我能够在交互式解释器中运行我的脚本,显示一个情节,然后手动杀死窗口.例如

import numpy as np
x = np.arange(1,10)
y = np.arange(1,10)
plt.plot(x,y)
plt.show()

这曾经很好.窗口将关闭,我将返回提示.但是,现在当我点击红色X关闭窗口时,窗口仍保持打开状态.我的命令提示符返回并正常工作,但窗口卡住了,我看到旋转的沙滩球在它上面.

在此输入图像描述

(请注意,光标不会出现在图像中,但是您可以看到红色X显示为灰色,因为我已经关闭但它被卡住了).

直到我第二次运行脚本第一个窗口关闭,然后我就陷入第二个打开的情节,同样的问题.我有点困惑,因为这只发生在最近.到目前为止,窗户将关闭.

这不是一个大问题,因为Python仍在运行,我仍然可以制作新的情节,但我很好奇为什么窗口会突然打开.有什么建议?

UPDATE

我通过切换交互式后端解决了这个问题.Qt4Agg或TkAgg作为交互式后端解决了这个问题.但问题仍然是为什么macosx和CocoaAgg后端显示了这种行为.



1> ohruunuruus..:

对于一个永久的解决方案(我不想每次打开ipython时都不必切换后端),你可以修改matplotlibrc.

有各种matplotlibrc文件可以更改(即仅用于本地目录,或全局等).要查找为ipython会话加载的配置文件,请使用matplotlib.matplotlib_fname().这是我得到的:

In [1]: import matplotlib

In [2]: matplotlib.matplotlib_fname()
Out[2]: u'/usr/local/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc'

打开rc文件并更改行:

backend      : macosx

阅读:

backend      : Qt4Agg

为我做了诀窍.



2> Nate..:

我通过切换交互式后端解决了这个问题.Qt4Agg或TkAgg作为交互式后端解决了这个问题.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有