24小时热门版块排行榜    

查看: 1206  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

啄木鸟爱撞墙

新虫 (初入文坛)

[求助] Matplotlib图片内存如何清空

我想输出多个连续图片以作一个动画(1000张,用animation时内存爆了)。后来我采用的方法是每次画完一张figure就plt.savefig保存并用plt.clf清空内存(plt.close也用过),再进行下一次画图。然而画到200多张的时候就提示内存不足。(每次用过的数组都已用del清空内存了)
由于之后要写另一个程序,其中每次画图都要画10000个大小不同的矩形,我准备用for语句画多个对象,因此不知道set_data()具体怎么用(只知道每次只能set一个对象的data)

发自小木虫IOS客户端
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

啊啊啊啊
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Ataraxy

木虫 (正式写手)

3楼2016-08-23 16:43:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

啄木鸟爱撞墙

新虫 (初入文坛)

啊啊啊啊
2楼2016-08-23 16:19:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

啄木鸟爱撞墙

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by Ataraxy at 2016-08-23 16:43:19
分享一下方法吧

要在plt.cla(),以及数组的del之后加上gc模块的gc.collect()
我在网上找了半天,大牛们讲的看不懂,不过大概是因为cla以及del后,Python并不会直接回收内存,需要再调用一下才行。
但是还是不够好,我的那个程序在使用了这个语句后由只能跑到200多张增加到了500多,猜测是由于数组删除之后有内存碎片。
最近在外面,等回去之后再优化一下看看。

发自小木虫IOS客户端
啊啊啊啊
4楼2016-08-24 22:40:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见