這篇文章給大家分享的是有關如何獲取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:http://vcdvsql.cn/article34/cceepe.html
成都網站建設公司_創新互聯,為您提供網站收錄、網站改版、營銷型網站建設、用戶體驗、微信小程序、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯