这篇文章给大家分享的是有关如何获取matplotlib.pyplot画图后的二进制流的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联建站是一家专业提供临洮企业网站建设,专注与成都网站设计、成都做网站、HTML5、小程序制作等业务。10年已为临洮众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。有些时候,我们需要画图后的二进制数据流,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画图后的二进制流”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
文章标题:如何获取matplotlib.pyplot画图后的二进制流-创新互联
标题URL:https://www.cdcxhl.com/article34/cceepe.html
成都网站建设公司_创新互联,为您提供网站收录、网站改版、营销型网站建设、用户体验、微信小程序、动态网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联