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 collections模块实例讲解
Apr 07 Python
python中字符串前面加r的作用
Jun 04 Python
python的socket编程入门
Jan 29 Python
使用Python的turtle模块画国旗
Sep 24 Python
python如何将两个txt文件内容合并
Oct 18 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
Python文字截图识别OCR工具实例解析
Mar 05 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 Python
python 链接sqlserver 写接口实例
Mar 11 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 Python
calendar在python3时间中常用函数举例详解
Nov 18 Python
Python虚拟环境virtualenv创建及使用过程图解
Dec 08 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 MemCached 高级缓存应用代码
2010/08/05 PHP
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
js里的prototype使用示例
2010/11/19 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
.NET程序员的数据库面试题
2012/10/10 面试题
员工自我鉴定范文
2013/10/06 职场文书
广播体操口号
2014/06/18 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
党组织结对共建协议书
2016/03/23 职场文书
2019关于垃圾分类处理的调查报告
2019/12/26 职场文书
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL