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 相关文章推荐
PHP webshell检查工具 python实现代码
Sep 15 Python
Python中用于检查英文字母大写的isupper()方法
May 19 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
如何使用VSCode愉快的写Python于调试配置步骤
Apr 06 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
python仿evething的文件搜索器实例代码
May 13 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
重写django的model下的objects模型管理器方式
May 15 Python
python中数字是否为可变类型
Jul 08 Python
python某漫画app逆向
Mar 31 Python
python创建字典及相关管理操作
Apr 13 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脚本数据库功能详解(中)
2006/10/09 PHP
改变Apache端口等配置修改方法
2008/06/05 PHP
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
vue-router 组件复用问题详解
2018/01/22 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
python读写csv文件方法详细总结
2019/07/05 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
详解Python 循环嵌套
2020/07/09 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
爱普生美国官网:Epson美国
2018/11/05 全球购物
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
中学教师岗位职责
2013/11/26 职场文书
环保倡议书50字
2014/05/15 职场文书
节能环保标语
2014/06/12 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android