Python matplotlib如何繪制各種流線圖
前言
在Python關于繪圖,Mlab提供開源的matplotlib模塊,不僅可以繪制折線圖、柱狀圖、散點圖等常規(guī)圖外,還支持繪制量場圖、頻譜圖、提琴圖、箱型圖等特殊圖,例舉往期文章可前往查看詳情。
我們日常生活中經(jīng)常會關注天氣預報,在換季的時候,播報員會講解氣流流動情況。在天氣預報過程中,氣象專家們會根據(jù)流線圖繪制的氣流情況,來預測當?shù)氐奶鞖馇闆r。
本期,我們將學習matplotlib.pyplot.streamplot()方法相關屬性的學習,let's go~
流線圖概述
什么是流線圖?
- 流線圖通過流線和箭頭的組合繪制,來表示某一時段流線的運行情況、
- 流線圖上的箭頭表示流向,流線上的形狀表示流強度
- 流線圖可分為氣流圖、等風速線、變高圖等
- 流線圖中的流線可以合并、匯合、分交,但不能交叉
流線圖應用場景
流線圖通常用于氣象學中研究風速、氣流、洋流的流向情況
流程圖是風場分析的重要圖表,流線的稀密度與風速大小成正比
獲取流線圖方法
import matplotlib.pyplot as plt plt.streamplot(x,y,u,v)
流線圖屬性
設置流線圖密度
關鍵字:density
默認值為:1
取值類型為:浮點型或者元組
控制流線圖密度,當density=1時,網(wǎng)格會被劃分為30*30網(wǎng)格
對于設置每個方向上密度,可以使用元組(x,y)
設置流線寬度
關鍵字:linewidth
取值類型為:浮點型或者二維數(shù)組
使用二維數(shù)組,可以改變流線在網(wǎng)格上的線寬
陣列的形狀必須要與u、v相同
設置流線顏色
關鍵字:color
取值可為:
- 表示顏色的英文單詞:如綠色"g"
- 表示顏色單詞的簡稱如:紅色"r",黃色"y"
- RGB格式:十六進制格式如"#88c999";(r,g,b)元組形式
- 可以轉入顏色列表
當使用cmap時,則需要color設置為二維數(shù)組,否則無效
設置流線縮放
關鍵字:norm
默認為將流線拉伸到(0,1)
僅在顏色為數(shù)組時使用
設置流線顏色系
關鍵字:cmap
取值形式為:顏色表_r
可取值常用的有:'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens'
繪制流線圖步驟
導入matplotlib.pyplot類
import matplotlib.pyplot as plt
調用numpy庫arange()、random()、randint()等準備x,y,u,v數(shù)據(jù)
- x,y:一維數(shù)組/二維數(shù)組
- u,v:二維數(shù)組
- 當為二維數(shù)組,可以通過np.meshgrid(x,y),np.mgrid()創(chuàng)建
x = np.arange(1,10) y = np.arange(1,10) u,v = np.meshgrid(np.sin(x),np.sin(y))
調用pyplot.streamplot()繪制流線圖
plt.streamplot(x,y,u,v,density=[0.5,1])
調用pyplot.show()渲染顯示出流線圖
plt.show()
設置linewidth、color、cmap屬性繪制流線圖
plt.streamplot(x,y,u,v,density=[0.5,1],color=u,cmap="Accent_r",linewidth=3)
小試牛刀
我們學習了關于繪制流線圖相關屬性,我們來實操一下控制流線的起點數(shù)據(jù)
- 調用np.mgrid[]定義x,y二維數(shù)據(jù)
- 調用pyplot.streamplot()方法繪制流線圖
- 調用pyplot.plot()方法繪制折線圖,使用marker屬性標記
y,x= np.mgrid[-3:3:100j, -3:3:100j] u = -1-x**2+y v = 1+x-y**2 seed_points = np.array([[-2, -1, 0, 1, 2, -1], [-2, -1, 0, 1, 2, 2]]) plt.streamplot(x,y,u,v,density=0.6,color=u,cmap="autumn",linewidth=1,start_points=seed_points.T) plt.plot(seed_points[0],seed_points[1],"^",color="b") plt.show()
總結
本期,我們對matplotlib.pyplot提供streamplot()方法繪制流線圖相關屬性的學習。流線圖通常使用在氣象學中,研究氣流變化情況。?
以上就是Python matplotlib如何繪制各種流線圖的詳細內容,更多關于Python matplotlib繪制流線圖的資料請關注腳本之家其它相關文章!
相關文章
Django中從mysql數(shù)據(jù)庫中獲取數(shù)據(jù)傳到echarts方式
這篇文章主要介紹了Django中從mysql數(shù)據(jù)庫中獲取數(shù)據(jù)傳到echarts方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04解決python將xml格式文件轉換成txt文件的問題(xml.etree方法)
從數(shù)據(jù)分析的角度去看xml格式的數(shù)據(jù)集,具有簡單性,結構和內容分離、可擴展性的特征,今天通過本文給大家分享python將xml格式文件轉換成txt文件的問題及解決方法(xml.etree方法),感興趣的朋友一起看看吧2021-09-09PyTorch中clone()、detach()及相關擴展詳解
這篇文章主要給大家介紹了關于PyTorch中clone()、detach()及相關擴展的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12Python使用paramiko連接遠程服務器執(zhí)行Shell命令的實現(xiàn)
這篇文章主要介紹了Python使用paramiko連接遠程服務器執(zhí)行Shell命令的實現(xiàn),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03詳解python實現(xiàn)多張多格式圖片轉PDF并打包成exe
這篇文章主要為大家介紹了python實現(xiàn)多張多格式圖片轉PDF并打包成exe方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01