gan*_*223 11 python matplotlib
我想用Python创建不同的数字matplotlib.pyplot.然后,我想将其中一些保存到文件中,而其他应该使用该show()命令在屏幕上显示.
但是,show()显示所有创建的数字.我可以通过close()在创建我不想在屏幕上显示的图表之后调用来避免这种情况,如下面的代码所示:
import matplotlib.pyplot as plt
y1 = [4, 2, 7, 3]
y2 = [-7, 0, -1, -3]
plt.figure()
plt.plot(y1)
plt.savefig('figure1.png')
plt.close()
plt.figure()
plt.plot(y2)
plt.show()
plt.close('all')
Run Code Online (Sandbox Code Playgroud)
这样可以保存第一个数字并显示第二个数字.但是,我收到一条错误消息:
无法调用"event"命令:应用程序在执行时已被销毁
是否有可能以更优雅的方式选择要显示的数字?
还有,第一个figure()命令是多余的吗?无论我是否愿意,它似乎没有什么不同.
提前谢谢了.
小智 4
更好的方法是使用plt.clf()而不是plt.close(). 此外,您还plt.figure()可以创建一个新图表,而您可以使用以下命令清除前一个图表plt.clf():
import matplotlib.pyplot as plt
y1 = [4, 2, 7, 3]
y2 = [-7, 0, -1, -3]
plt.figure()
plt.plot(y1)
plt.savefig('figure1.png')
plt.clf()
plt.plot(y2)
plt.show()
plt.clf()
Run Code Online (Sandbox Code Playgroud)
此代码不会生成错误或警告,例如无法调用“事件”命令...