我想创建一个情节,或许放弃它,然后创建另一个情节。
import matplotlib.pyplot as plt
plt.plot(xxx,yyy, ...)
if certain_conditions:
return or otherwise get out of here
plt.show()
...sometime later, someplace far away...
# looking for incantation to make gone of the existing unshown plot
plt.plot(abc,def, ...)
plt.show()
这些代码实际上相距甚远,在不同的对象或模块中,无论如何。当第一个图被放弃时,第二个代码块中的show()将向我展示超出期望的内容;我只是想看看abc vs. def。我确信这很简单,但我找不到 - 在开始第二个情节之前我想要什么神奇的咒语?
答案 0 :(得分:2)
有很多方法可以做到这一点,“最好的”是转向使用OO接口而不是状态机接口。
如果您不想保留任何数字,
plt.close('all')
将关闭所有现有数字。如果你只想关闭当前数字,你可以
plt.close(plt.gca().number)
如果你这样做
fig = plt.figure()
您可以创建其他数字并使用
关闭它们plt.close(fig.number)
答案 1 :(得分:1)
您还可以显示单个数字:
在matplotlib 1.2.0上如果我这样做
fig1 = plt.figure(1)
fig2 = plt.figure(2)
fig2.show()
仅显示第二个数字