我想制作一系列图表,并将每个图表保存到文件中.但我不知道如何擦掉以前的情节.也许我需要每次都创建一些新对象,但我不会是哪个对象.这是我的代码,注意评论.这是我的代码:
import matplotlib.pyplot as plt
ind = (1,2,3,4)
groups=(
(1, (1.1,1.2,1.3,1.4)),
(2, (2.2,2.2,1.2,2.4)),
)
for group in reversed(groups):
#clean the slate ?
plt.bar(ind ,group[1])
plt.xticks([i+0.5 for i in ind],ind)
plt.savefig('%d.png' % group[0])
Run Code Online (Sandbox Code Playgroud)
不要每次创建一个新的数字plt.figure(),你会很快耗尽内存.而是使用(分别用于图形和轴):
plt.clf()
plt.cla()
Run Code Online (Sandbox Code Playgroud)
您可以运行plt.close()以释放分配,但是有一些讨论说这种方法过去曾导致内存泄漏.快速测试表明,在版本中1.1.1rc这没有问题,所以请随意使用它作为替代.一个有用的相关问题讨论了方法之间的差异.
| 归档时间: |
|
| 查看次数: |
2478 次 |
| 最近记录: |