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之深入变量和引用对象
Sep 24 Python
python计算N天之后日期的方法
Mar 31 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
Python iter()函数用法实例分析
Mar 17 Python
简单了解Django ContentType内置组件
Jul 23 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
jupyter notebook oepncv 显示一张图像的实现
Apr 24 Python
Selenium webdriver添加cookie实现过程详解
Aug 12 Python
使用AJAX和Django获取数据的方法实例
Oct 25 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
yii实现级联下拉菜单的方法
2014/07/31 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
Vue 同步异步存值取值实现案例
2020/08/05 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Django框架下静态模板的继承操作示例
2019/11/08 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
幼师自荐信范文
2013/10/06 职场文书
小车司机岗位职责
2013/11/25 职场文书
领导视察欢迎词
2014/01/15 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
安全生产演讲稿
2014/05/09 职场文书
学校开学标语
2014/10/06 职场文书
销售经理工作检讨书
2015/02/19 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
2016猴年春节问候语
2015/11/11 职场文书
JavaScript的Set数据结构详解
2022/02/18 Javascript
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android