Python 使用matplotlib中的show()和close()
我在matplotlib中遇到一些问题。。。。我无法用show()一次打开两个窗口来显示图像,脚本似乎在我使用show()的行停止,除非我手动关闭显示,否则不会继续。有没有办法关闭纸条中的数字窗口 以下代码未按我的要求运行: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
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()。是的,绘图显示并一个接一个地关闭。但是,“体形”窗口上没有显示任何内容,全部为白色。