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读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python简单获取数组元素个数的方法
Jul 13 Python
python常见排序算法基础教程
Apr 13 Python
用python制作游戏外挂
Jan 04 Python
python中使用PIL制作并验证图片验证码
Mar 15 Python
python找出完数的方法
Nov 12 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
Mar 11 Python
python实现随机漫步方法和原理
Jun 10 Python
pytorch逐元素比较tensor大小实例
Jan 03 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
基于Python实现一个春节倒计时脚本
Jan 22 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读取html并截取字符串的简单代码
2009/11/30 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
全面了解js中的script标签
2016/07/04 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
Python性能优化的20条建议
2014/10/25 Python
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
Python二维码生成识别实例详解
2019/07/16 Python
Django缓存系统实现过程解析
2019/08/02 Python
python urllib爬虫模块使用解析
2019/09/05 Python
Python sys模块常用方法解析
2020/02/20 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
养殖行业的创业计划书
2014/01/05 职场文书
工作检讨书怎么写
2014/10/10 职场文书
云冈石窟导游词
2015/02/04 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
新教师教学工作总结
2015/08/14 职场文书
赞美教师的句子
2019/09/02 职场文书