Matplotlib 查看后自动关闭绘图/图形

pet*_*927 4 python matplotlib python-3.x

所以我遇到了一个小问题,但是是的,我需要一个答案。A用matplotlib创建了一个图,在展示后我想关闭它。当然,我访问了一些文档(例如:https : //matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.close.html),很多论坛,比如:matplotlib close 不关闭窗口,但我的代码对我不起作用。

我使用了该plt.ion()功能,但是当我尝试它时,情节没有出现,我只看到一个空窗口。在那之后,我使用了plt.show(block = False)并且我再次得到了一个空窗口。

你可以看到上面的代码:

#Showing

plt.ion()
plt.show(block = False)

time.sleep(10)

plt.close("all")
Run Code Online (Sandbox Code Playgroud)

如你所见,有一个延迟,我想看一个情节十秒钟,然后关闭它。

随意,给我评论,我很感激,谢谢。

mak*_*kis 8

不要使用time.sleep(). 使用该plt.pause()功能。


详细信息/说明首先,您需要plt.show(block=False)使绘图不被阻塞并且代码执行下一个命令。

其次,第二个命令即plt.pause(3)暂停绘图 3 秒钟,然后转到下一行/命令。

最后,最后一行/命令,plt.close("all")自动关闭绘图。


这是一个脚本 ( .py),它绘制一个imshow并在 3 秒后自动关闭它。

import matplotlib.pyplot as plt
import numpy as np

X = np.random.rand(10,10)

plt.imshow(X)

plt.show(block=False)
plt.pause(3) # 3 seconds, I use 1 usually
plt.close("all")
Run Code Online (Sandbox Code Playgroud)