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