我已阅读When to use cla(), clf() or close() for clearing a plot in matplotlib? 但我仍然无法找到解决问题的好办法。
我需要将大量数据绘制并保存到单个png或jpg文件中。像下面的东西,但它确实需要一些记忆和时间来完成。
有什么可以优化的吗?我正在考虑背景和界面风格,因为我不需要窗户来显示我的身材,只需保存即可。
更新:我试图将plt.subplots()部分移到主循环之外。但是我只能得到第一个完整的数字(轴,标题和情节线)。在第一张照片之后,所有照片只有轴和标题,但没有数据线。
免责声明:我说我不需要图片展示。该脚本不会打开任何窗口。
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
def plot(tup):
k, name, x, y = tup
fig, ax = plt.subplots()
ax.plot(x, y)
for _x, _y in zip(x, y):
ax.annotate(str(_y), (_x, _y + 0.2))
fig.savefig('pics/{}.png'.format(k))
fig.clf()
for e in alldata:
plot(e)