Matplotlib - 只显示一个数字

时间:2015-05-07 19:56:34

标签: python matplotlib

所以我有一些我的代码生成的图。我想保存所有这些,但我只想显示一个。我可以很好地完成保存部分,但只显示一个可以证明是一种痛苦。

试图实现这一目标,已经围成一圈。我得到的最接近的是清除除了其中一个数字之外的所有数字,但是当我试图只显示一个时,它们都被显示出来。开始认为它是一个非常简单的东西,我忽略了,否则它是不可能的。

任何人都知道如何实现这一目标?

编辑:添加了示例代码。抱怨原本没有这样做。

    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()

1 个答案:

答案 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()