matplotlib关闭不关闭窗口

时间:2013-12-05 13:17:36

标签: python matplotlib conda

我注意到我跑的时候:

import pylab as pl
pl.ion()
# Plot something
pl.show()
pl.close()

最后一句话没有完全关闭图。数字变暗,内容消失,但是图停留在屏幕上,直到我退出IPython,如下所示

enter image description here

我在Linux 64位上使用Anaconda发行版的最新稳定版matplotlib( 1.3.1 ),并使用ssh -X远程连接。

我正在使用的后端如下:

backend : QT4Agg
backend.qt4 : PySide

1 个答案:

答案 0 :(得分:3)

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

pl.close('all')

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

pl.clf()

另见下文another SO question

  

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

     

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