簡體   English   中英

無法手動關閉matplotlib繪圖窗口

[英]Cannot manually close matplotlib plot window

我在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后端顯示了這種行為。

對於永久解決方案(我不想每次打開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

為我做了訣竅。

我通過切換交互式后端解決了這個問題。 Qt4Agg或TkAgg作為交互式后端解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM