溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python?matplotlib怎么繪制各種流線圖

發(fā)布時間:2021-12-04 15:10:22 來源:億速云 閱讀:535 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“Python matplotlib怎么繪制各種流線圖”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

    流線圖概述

    什么是流線圖?

    • 流線圖通過流線和箭頭的組合繪制,來表示某一時段流線的運行情況、

    • 流線圖上的箭頭表示流向,流線上的形狀表示流強度

    • 流線圖可分為氣流圖、等風(fēng)速線、變高圖等

    • 流線圖中的流線可以合并、匯合、分交,但不能交叉

    流線圖應(yīng)用場景

    流線圖通常用于氣象學(xué)中研究風(fēng)速、氣流、洋流的流向情況

    流程圖是風(fēng)場分析的重要圖表,流線的稀密度與風(fēng)速大小成正比

    獲取流線圖方法

    import matplotlib.pyplot as plt 
    plt.streamplot(x,y,u,v)

    流線圖屬性

    設(shè)置流線圖密度

    關(guān)鍵字:density

    默認(rèn)值為:1

    取值類型為:浮點型或者元組

    控制流線圖密度,當(dāng)density=1時,網(wǎng)格會被劃分為30*30網(wǎng)格

    對于設(shè)置每個方向上密度,可以使用元組(x,y)

    設(shè)置流線寬度

    關(guān)鍵字:linewidth

    取值類型為:浮點型或者二維數(shù)組

    使用二維數(shù)組,可以改變流線在網(wǎng)格上的線寬

    陣列的形狀必須要與u、v相同

    設(shè)置流線顏色

    關(guān)鍵字:color

    取值可為:

    • 表示顏色的英文單詞:如綠色"g"

    • 表示顏色單詞的簡稱如:紅色"r",黃色"y"

    • RGB格式:十六進制格式如"#88c999";(r,g,b)元組形式

    • 可以轉(zhuǎn)入顏色列表

    當(dāng)使用cmap時,則需要color設(shè)置為二維數(shù)組,否則無效

    設(shè)置流線縮放

    關(guān)鍵字:norm

    默認(rèn)為將流線拉伸到(0,1)

    僅在顏色為數(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庫arange()、random()、randint()等準(zhǔn)備x,y,u,v數(shù)據(jù)

    • x,y:一維數(shù)組/二維數(shù)組

    • u,v:二維數(shù)組

    • 當(dāng)為二維數(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))

    調(diào)用pyplot.streamplot()繪制流線圖

    plt.streamplot(x,y,u,v,density=[0.5,1])

    調(diào)用pyplot.show()渲染顯示出流線圖

    plt.show()

    Python?matplotlib怎么繪制各種流線圖

    設(shè)置linewidth、color、cmap屬性繪制流線圖

    plt.streamplot(x,y,u,v,density=[0.5,1],color=u,cmap="Accent_r",linewidth=3)

    Python?matplotlib怎么繪制各種流線圖

    小試牛刀

    我們學(xué)習(xí)了關(guān)于繪制流線圖相關(guā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()

    Python?matplotlib怎么繪制各種流線圖

    “Python matplotlib怎么繪制各種流線圖”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI