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 ip正则式
May 07 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
Python作用域用法实例详解
Mar 15 Python
python 统计代码行数简单实例
May 04 Python
python如何通过实例方法名字调用方法
Mar 21 Python
Python多版本开发环境管理工具介绍
Jul 03 Python
django项目登录中使用图片验证码的实现方法
Aug 15 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
使用Python三角函数公式计算三角形的夹角案例
Apr 15 Python
django 装饰器 检测登录状态操作
Jul 02 Python
celery在python爬虫中定时操作实例讲解
Nov 27 Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 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浮点数知识
2015/05/13 PHP
php验证手机号码
2015/11/11 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
node.js的Express服务器基本使用教程
2019/01/09 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
Python中使用Inotify监控文件实例
2015/02/14 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
python实现拼接图片
2020/03/23 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
市场营销毕业生自荐信范文
2014/04/01 职场文书
婚前协议书
2014/04/15 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers