所以我有一些我的代码生成的图。我想保存所有这些,但我只想显示一个。我可以很好地完成保存部分,但只显示一个可以证明是一种痛苦。
试图实现这一目标,已经围成一圈。我得到的最接近的是清除除了其中一个数字之外的所有数字,但是当我试图只显示一个时,它们都被显示出来。开始认为它是一个非常简单的东西,我忽略了,否则它是不可能的。
任何人都知道如何实现这一目标?
编辑:添加了示例代码。抱怨原本没有这样做。
fig1 = plt.figure(1)
plt.plot([0, 1, 2, 3, 4], [0, 1, 2, 3, 4], label="Test", color='g')
plt.plot([0, 1, 2, 3, 4], [0, 1, 4, 9, 16], label="Other Test", color='r')
plt.grid(True)
fig1.savefig('Foo1.png')
fig2 = plt.figure(2)
plt.plot([0, 1, 2, 3, 4], [0, 5, 1, 9, 2], label="Test 2", color='g')
plt.plot([0, 1, 2, 3, 4], [0, 10, 50, 0, 10], label="Other Test 2", color='r')
plt.grid(True)
fig2.savefig('Foo2.png')
plt.show()
答案 0 :(得分:13)
您可以在使用plt.close()
保存后立即关闭每个数字。在最后一个数字之后,请务必不要发表紧密的声明。
您的代码如下所示:
fig1 = plt.figure(1)
plt.plot([0, 1, 2, 3, 4], [0, 1, 2, 3, 4], label="Test", color='g')
plt.plot([0, 1, 2, 3, 4], [0, 1, 4, 9, 16], label="Other Test", color='r')
plt.grid(True)
fig1.savefig('Foo1.png')
# add plt.close() after you've saved the figure
plt.close()
fig2 = plt.figure(2)
plt.plot([0, 1, 2, 3, 4], [0, 5, 1, 9, 2], label="Test 2", color='g')
plt.plot([0, 1, 2, 3, 4], [0, 10, 50, 0, 10], label="Other Test 2", color='r')
plt.grid(True)
fig2.savefig('Foo2.png')
plt.show()