matplotlib close 不会关闭窗口

Jos*_*osh 3 python matplotlib conda

我注意到当我运行时:

import pylab as pl
pl.ion()
# Plot something
pl.show()
pl.close()
Run Code Online (Sandbox Code Playgroud)

最后一条语句没有完全关闭图。图形变暗,内容消失,但图形一直显示在屏幕上,直到我退出 IPython,如下所示

                      在此处输入图片说明

我在 Linux 64 位上使用 Anaconda 发行版使用最新稳定版本的 matplotlib ( 1.3.1 ),并且我使用ssh -X.

我使用的后端如下:

backend : QT4Agg
backend.qt4 : PySide
Run Code Online (Sandbox Code Playgroud)

Nil*_*ner 5

您必须指定要关闭的数字。如果您想关闭所有这些:

pl.close('all')
Run Code Online (Sandbox Code Playgroud)

此外,有一种方法可以清除但不关闭图形:

pl.clf()
Run Code Online (Sandbox Code Playgroud)

另外,从下面的另一个 SO 问题中可以看出:

请记住,这plt.show()是一个阻塞函数,因此在您上面使用的示例代码中,plt.close()在窗口关闭之前不会执行,这使得它变得多余。

您可以plt.ion()在代码的开头使用以使其非阻塞,尽管这还有其他含义。