Python 使用matplotlib中的show()和close()

Python 使用matplotlib中的show()和close(),python,matplotlib,show,Python,Matplotlib,Show,我在matplotlib中遇到一些问题。。。。我无法用show()一次打开两个窗口来显示图像,脚本似乎在我使用show()的行停止,除非我手动关闭显示,否则不会继续。有没有办法关闭纸条中的数字窗口 以下代码未按我的要求运行: import matplotlib.pyplot as plt from time import sleep from scipy import eye plt.imshow(eye(3)) plt.show() sleep(1) plt.close() plt.imsh

我在matplotlib中遇到一些问题。。。。我无法用show()一次打开两个窗口来显示图像,脚本似乎在我使用show()的行停止,除非我手动关闭显示,否则不会继续。有没有办法关闭纸条中的数字窗口

以下代码未按我的要求运行:

import matplotlib.pyplot as plt
from time import sleep
from scipy import eye

plt.imshow(eye(3))
plt.show()
sleep(1)
plt.close()
plt.imshow(eye(2))
plt.show()
我希望第一个窗口在1秒后关闭,然后打开第二个窗口,但直到我自己关闭它,窗口才关闭。我是做错了什么事,还是应该这样做?

plt.show()是一个阻塞函数

基本上,如果希望同时打开两个窗口,则需要创建两个图形,然后在末尾使用plt.show()来显示它们。事实上,一般的经验法则是设置绘图,而plt.show()是您最后要做的事情

因此,在你的情况下:

fig1=plt.figure(figsize=plt.figaspect(0.75))
ax1=图1.添加子批次(1,1,1)
im1,=plt.imshow(眼睛(3))
图2=plt.图(图尺寸=plt.图尺寸(0.75))
ax2=图2.添加子批次(1,1,1)
im2,=plt.imshow(眼睛(2))
plt.show()
您可以使用轴(ax2)在绘图之间切换


我放了一个全面的例子,演示了为什么plot函数会阻塞,以及如何在回答另一个问题时使用它:。

我使用PyScripter和Python 2.7,还有一个问题是
plt.show()
在手动关闭图形之前阻塞所有执行


我发现将Python引擎更改为“remote(Wx)”可以让脚本在
plt.show()
之后运行,因此可以使用
plt.close()
关闭可能重复的图形。检查确实解决了这个问题,但我得到了另一个。。。。。当我使用plt.ion()时,我不能使用一些资源,例如放大图形窗口(我甚至不能移动窗口)…谢谢,先生。但在我的剧本中,我试图一个接一个地演示100个情节。最后,我可能不会选择plt.show()将它们全部显示出来。我想显示一个绘图,暂停大约1秒,然后在脚本中自动关闭它,而不是手动关闭它,然后重复显示下一个绘图,100次。是否有这样的方法?编辑:我在所有东西上都尝试了plt.ion()。是的,绘图显示并一个接一个地关闭。但是,“体形”窗口上没有显示任何内容,全部为白色。