最终编辑:
我在关闭pyplot窗口的主题上发现的是它很可能不应该使用pyplot来完成.SRK提供了一个很好的例子,说明如何处理将在下面的答案中更新的情节.此外,我偶然发现了如何将pyplot图放入Tkinter窗口,而且Tkinter比pyplot更擅长打开和关闭窗口.这里是怎样把一个pyplot情节变成Tk的窗口,也这是一个很好的例子.
/最终编辑
我希望能够显示几个图,然后能够从一些代码输入中单独关闭(从屏幕中删除),但我不知道执行此操作的代码输入.
以下是我到目前为止所尝试的内容.我已经玩过了show和close命令的位置,但是我从中获得的唯一真实结果是没有出现一个或另一个情节,但是我无法从屏幕上删除一个情节.我一直在插入raw_input()来创建暂停.
编辑:这些情节是从Tkinter gui调用的,如果从这个方向有更好的方法,我会很高兴听到它.
任何意见都将不胜感激,谢谢.
import matplotlib.pyplot as plt
a = range(0,10)
b = range(0,20,2)
c = range(0,30,3)
d = range(0,40,4)
plot1 = plt.figure()
plt.plot(a,b, 'r-o')
plt.show()
plt.close()
plot2 = plt.figure()
plt.plot(c,d, 'b-o')
plt.show()
plt.close()
Run Code Online (Sandbox Code Playgroud)
编辑代码:这也不起作用.
plot1 = plt.figure(1)
plt.plot(a,b, 'r-o')
plot2 = plt.figure(2)
plt.plot(c,d, 'b-o')
#plt.close(1)
#this will prevent plot1 from being displayed
plt.show()
plt.close(1) # or ('all') or (plot1)
Run Code Online (Sandbox Code Playgroud) 所以我遇到了一个小问题,但是是的,我需要一个答案。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)
如你所见,有一个延迟,我想看一个情节十秒钟,然后关闭它。
随意,给我评论,我很感激,谢谢。
我需要创建很多图形,然后savefig
用来保存图形。
但是在大约280张图片之后,它抛出了异常 RuntimeError: Could not allocate memory for image
有没有像clear()
Matplotlib那样的函数?