matplotlib.pyplot画图 图片的二进制流的获取方法


Posted in Python onMay 24, 2018

有些时候,我们需要画图后的二进制数据流,matplotlib没有提供相关的api,通过源码查看与百度,得到下面此方法

import matplotlib.pyplot as plt
import numpy as np
import io
x=np.arange(10)
y=x
#plt.plot(x,y)
#canvas = plt.get_current_fig_manager().canvas
#canvas.draw()
fig=plt.figure()
plt.plot(x,y)
canvas=fig.canvas
#上面这段代码和上面注释掉的代码效果一样

#方法1
buffer = io.BytesIO()
canvas.print_png(buffer)
data=buffer.getvalue()
buffer.close()
#方法2
buf, size = canvas.print_to_buffer()
image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1)
buffer=io.BytesIO()
image.save(buffer,'PNG')
data=buffer.getvalue()
buffer.close()

with open('hhh.png',mode='wb') as f:
f.write(data)
#f=open('hh.png',mode='wb')
#f.write(data)
#f.close()

如果我们想把二进制的图片转成数组也是可以的,

buffer=io.BytesIO()
buffer.write(data)
img=Image.open(buffer)
img = np.asarray(img)

以上这篇matplotlib.pyplot画图 图片的二进制流的获取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的ConfigParser模块使用详解
May 04 Python
python操作字典类型的常用方法(推荐)
May 16 Python
Python爬虫代理IP池实现方法
Jan 05 Python
python实现批量图片格式转换
Jun 16 Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
python读取目录下最新的文件夹方法
Dec 24 Python
python利用跳板机ssh远程连接redis的方法
Feb 19 Python
python 字典操作提取key,value的方法
Jun 26 Python
django将数组传递给前台模板的方法
Aug 06 Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 Python
Python机器学习应用之基于线性判别模型的分类篇详解
Jan 18 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 #Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 #Python
在Django中输出matplotlib生成的图片方法
May 24 #Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 #Python
Python获取系统所有进程PID及进程名称的方法示例
May 24 #Python
好的Python培训机构应该具备哪些条件
May 23 #Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 #Python
You might like
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
python映射列表实例分析
2015/01/26 Python
python调用百度REST API实现语音识别
2018/08/30 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
深入浅析python的第三方库pandas
2020/02/13 Python
django 实现简单的插入视频
2020/04/07 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
二年级数学教学反思
2014/01/21 职场文书
出纳员的岗位职责
2014/02/22 职场文书
工程造价专业求职信
2014/07/17 职场文书
工作作风建设心得体会
2014/10/22 职场文书
复活读书笔记
2015/06/29 职场文书
应收账款管理制度
2015/08/06 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
python实现Thrift服务端的方法
2021/04/20 Python