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 稀疏矩阵-sparse 存储和转换
May 27 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
Feb 01 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
Python编程中flask的简介与简单使用
Dec 28 Python
对Python函数设计规范详解
Jul 19 Python
python的常见矩阵运算(小结)
Aug 07 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
Python列表如何更新值
May 27 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
opencv 阈值分割的具体使用
Jul 08 Python
pycharm 实现调试窗口恢复
Feb 05 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字符串截取问题
2006/11/28 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
php字符串函数学习之substr()
2015/03/27 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
详解Python with/as使用说明
2018/12/13 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
社区学习雷锋活动总结
2014/04/25 职场文书
小学语文业务学习材料
2014/06/02 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
匿名信格式范文
2015/05/27 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL