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程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
简单讲解Python编程中namedtuple类的用法
Jun 21 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
int在python中的含义以及用法
Jun 27 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
php密码生成类实例
2014/09/24 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
js TextArea的选中区域处理
2010/12/28 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
浅谈django channels 路由误导
2020/05/28 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
评先进个人材料
2014/12/29 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
Redis入门教程详解
2021/08/30 Redis
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android