在使用matplotlib批量绘制图片时,内存占用会随着绘制图片数量的增加而增加,最终内存不够,提示为:Out of memory

解决办法

1.在导入matplotlib库后,且在matplotlib.pyplot库被导入前加“matplotlib.use(‘agg’)”语句。注意matplotlib.use('agg')必须在本句执行import matplotlib.pyplot as plt前运行

import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt

matplotlib.use(‘agg’):作用是matplotlib设定为非交互式,在这种模式下,前端不会展示绘图结果

2.在每次绘图结束时,手动清除图片。如下代码所示:

plt.clf () #清除当前图形及其所有轴,但保持窗口打开,以便可以将其重新用于其他绘图。
plt.close () #完全关闭图形窗口

示例:

'''绘制5000张散点图'''
import numpy as np
import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as pltfor i in range(0,5000):#1. 数据生成x = np.random.normal(0, 1, 10)y = np.random.normal(0, 1, 10)#2.画布设置:plt.figure(figsize=(10, 10), dpi=80)axes=plt.subplot2grid((1,1), (0,0), facecolor='w')#3.绘制散点图plt.scatter(x,y, c='red', s=500)#4.保存图片plt.savefig('C:/Users/test/Desktop/'+str(i)+'.jpg')plt.clf()plt.close()

输出图例:

内存占用始终保持在600MB多同一水平,没有增加

Python matplotlib 批量绘图内存不够问题(Out of memory)相关推荐

  1. python绘图实例-Python matplotlib基础绘图函数示例

    原标题:Python matplotlib基础绘图函数示例 Pyplot基础图标函数: 函数 说明 plt.plot(x,y,fmt,-) 绘制一个坐标图 plt.boxplot(data,notch ...

  2. Python Matplotlib 3D绘图详解(汇总)

    Python Matplotlib 3D绘图详解(汇总) 最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的基础上,构建了一部分较为 ...

  3. element ui 批量删除之后动态更新列表_气象编程 | Python高效批量绘图方法

    添加新云天气象主编微信或QQ:130188121,及时获取或发布气象升学.就业.会议.征稿及学术动态等信息!在数值预报后处理中经常需要批量出图,而基于matplotlib的图形渲染速度较慢,而提高出图 ...

  4. python matplotlib各种绘图类型完整总结

    文章目录 1. Matplotlib图像基础 1.1 __基本绘图实例:sin.cos函数图__ 1.2 plot()函数详解 1.3 __matplotlib中绘图的默认配置__ 1.4 __设置图 ...

  5. python arcgis批量绘图_ARCGIS中Python实现批量裁剪

    <ARCGIS中Python实现批量裁剪>由会员分享,可在线阅读,更多相关<ARCGIS中Python实现批量裁剪(1页珍藏版)>请在人人文库网上搜索. 1.程序代码:pyth ...

  6. Python 使用matplotlib批量绘图并合成视频

    实现思路 1.导入matplotlib,绘制图像,并将图片存储为bgr图像 2.导入cv2,读取bgr图像,最终存储为MP4格式文件 示例: import numpy as np import mat ...

  7. Python Matplotlib 花式绘图和中文字符显示、散点图、设置网格和散点函数拟合

    目录 1.隔段的bar绘图 2.显示中文字符的曲线绘制 3.需要注意的内容 4.Python绘图库Matplotlib.pyplot之网格线设置(plt.grid()) 5.绘制散点分布图 6.调整图 ...

  8. Python matplotlib高级绘图详解

    Pyplot绘图结构 Aritists matplotlib API包含有三层: backend_bases.FigureCanvas : 图表的绘制领域 backend_bases.Renderer ...

  9. python arcgis批量绘图_python调用ArcGIS批量生成多环缓冲区(多边形等距离放大)...

    任务说明:需要对地图文件进行要素转面,绘制缓冲区,最后面转线,需要处理的文件有一百多个,手工处理费时费力,写一个脚本,批量自动转换 import os import time import arcpy ...

最新文章

  1. android设置title字体大小,android setTitle怎么实现字体的大小
  2. virtaulbox视图模式常用切换
  3. 烂泥虚拟机硬盘简简单单扩容
  4. Fiddler的钩子hook导致电脑无法连上网络
  5. ICCV2021 香港理工、阿里达摩院提出RealVSR:视频超分任务中的新数据集与损失方案...
  6. NAS新突破,仅需半个 GPU day 即可训练出高性能架构!阿里提出 Zen-NAS
  7. Basic Theory of Physically-Based Rendering
  8. Java使用循环创建多个线程
  9. 前端会有什么新的变化
  10. MongoDB管理与监控
  11. java学生选课系统_JAVA | 学生选课系统
  12. 鸿蒙生态菁英难,重磅!华为联合西工大开设“鸿蒙生态菁英班”!
  13. foxtable2018商业版 v18.10.9
  14. css路径自动加上了路径_CSS和关键路径
  15. 申请https证书的过程
  16. 图像置乱之评价图像置乱度算法的选择
  17. :is()伪类选择器 :where()伪类选择器
  18. QT QPushbutton制作下拉列表
  19. Redis内存分析工具之redis-rdb-tools的安装与使用
  20. Spring——》谈谈你对Spring框架的理解

热门文章

  1. 联动报警系统服务器,社会治安综合联动报警系统
  2. oracle 使用trigger实现主键自增
  3. Python数据分析实战之葡萄酒质量分析
  4. 【blade的UI设计】理解前端MVC与分层思想
  5. CSS的作用与各种样式
  6. android网络优化,Android性能优化----网络优化
  7. 翻译java语言的软件_java实现英文翻译程序
  8. 不想被时代淘汰?网络工程师未来的出路在这里!
  9. 电子科技大学和东北大学计算机专业哪个好,电子科技大学、南京航空航天大学、东北大学,你会怎么选择?...
  10. 小学英语阅读促进学生思维品质发展及其策略应用的综述