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之引用和类属性的初步理解
May 15 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
Python中的函数作用域
May 07 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
python如何求解两数的最大公约数
Sep 27 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
pymongo中group by的操作方法教程
Mar 22 Python
python输出决策树图形的例子
Aug 09 Python
Python要如何实现列表排序的几种方法
Feb 21 Python
Python如何发送与接收大型数组
Aug 07 Python
pytorch 如何使用amp进行混合精度训练
May 24 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 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
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
jquery 学习之一 对象访问
2010/11/23 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
Python学习笔记之装饰器
2020/08/06 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
局部内部类是否可以访问非final变量?
2013/04/20 面试题
大四本科生的自我评价
2013/12/30 职场文书
店长职务说明书
2014/02/04 职场文书
寒假家长评语大全
2014/04/16 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
生日赠语
2015/06/23 职场文书
婚宴致辞
2015/07/28 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
python基础之匿名函数详解
2021/04/21 Python
go设置多个GOPATH的方式
2021/05/05 Golang
python多次执行绘制条形图
2022/04/20 Python