基于Python中matplotlib的畫圖

很多科研工作者熟悉matlab工具,用matlab來做仿真,畫圖,以及各種算法優(yōu)化,matlab的鬼斧神工以及效率性能得心應(yīng)手,令人愛不釋手。但是matlab畢竟那么大,處處用matlab來做畫圖形,明顯不科學(xué)。今天將的Python中的一個(gè)比較牛逼的畫圖庫,就是類似matlab的matplotlib庫,這是一個(gè)能畫2D平面圖的,各種統(tǒng)計(jì)圖都能畫的工具。

基本上matlab能畫的圖,在matplotlib上都能畫,如果有不會的可以直接來問我。畢竟那么多個(gè)方法,也不能都講述。我用到這個(gè)庫是因?yàn)榕龅揭粋€(gè)二維數(shù)組,要渲染出圖形。由于剛接觸深度圖這個(gè)概念,所以當(dāng)時(shí)很不能理解為什么一個(gè)二維數(shù)組就是一幅圖。

代碼也比較簡單,只要將二維數(shù)組加進(jìn)去即可

用這個(gè)庫來畫圖效果還是很不錯的,而且主要是依賴的運(yùn)行環(huán)境小,不需要大量的代碼。當(dāng)然如果你要修改坐標(biāo)軸的精度,或者添加標(biāo)簽legend,都是可以的。

這個(gè)畫圖工具也支持動態(tài)庫刷新,在交互方面也是相當(dāng)牛逼的。無論你是同時(shí)去刷新多張圖,還是同一張圖幀率提高,都是非??斓摹?/p>

pyplot.ion()是matplotlib的顯示模式轉(zhuǎn)換為交互模式。即使在腳本中遇到pyplot.show(),代碼還是會繼續(xù)執(zhí)行。如果你理解了同步和異步的話,那么會很容易理解交互模式和阻塞模式。

阻塞模式跟同步的概念一樣,打開一個(gè)窗口以后必須關(guān)掉才能打開下一個(gè)新的窗口。所以說阻塞模式你是無法同時(shí)畫出多個(gè)窗口的,pyplot.plot()或pyplot.imshow()是直接畫出圖像,需要show后才能顯示圖像。

交互模式和異步的概念一樣,可以同時(shí)顯示并刷新多個(gè)窗口。遇到pyplot.plot(x)或者 pyplot.imshow()是直接畫出圖像,不需要show()。需要特別注意的是,如果使用ion()命令開啟了交互模式,沒有使用ioff()關(guān)閉的話,則圖像會一閃而過,并不會常留。要想防止這種情況,需要在pyplot.show()之前加上ioff()命令。

兔云程序

致力于推廣編程教程,服務(wù)程序員

20篇原創(chuàng)內(nèi)容

公眾號

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容