一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python matplotlib如何繪制各種流線圖

Python matplotlib如何繪制各種流線圖

2022-03-11 00:32編程簡單學 Python

在Python中不僅可以繪制折線圖、柱狀圖、散點圖等常規圖外,還支持繪制量場圖、頻譜圖、提琴圖、箱型圖等特殊圖。本文將主要介紹如何繪制流線圖,需要的朋友可以參考一下

前言

Python關于繪圖,Mlab提供開源的matplotlib模塊,不僅可以繪制折線圖、柱狀圖、散點圖等常規圖外,還支持繪制量場圖、頻譜圖、提琴圖、箱型圖等特殊圖,例舉往期文章可前往查看詳情。

我們日常生活中經常會關注天氣預報,在換季的時候,播報員會講解氣流流動情況。在天氣預報過程中,氣象專家們會根據流線圖繪制的氣流情況,來預測當地的天氣情況。

本期,我們將學習matplotlib.pyplot.streamplot()方法相關屬性的學習,let's go~

 

流線圖概述

什么是流線圖?

  • 流線圖通過流線和箭頭的組合繪制,來表示某一時段流線的運行情況、
  • 流線圖上的箭頭表示流向,流線上的形狀表示流強度
  • 流線圖可分為氣流圖、等風速線、變高圖等
  • 流線圖中的流線可以合并、匯合、分交,但不能交叉

流線圖應用場景

流線圖通常用于氣象學中研究風速、氣流、洋流的流向情況

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

獲取流線圖方法

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

 

流線圖屬性

設置流線圖密度

關鍵字:density

默認值為:1

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

控制流線圖密度,當density=1時,網格會被劃分為30*30網格

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

設置流線寬度

關鍵字:linewidth

取值類型為:浮點型或者二維數組

使用二維數組,可以改變流線在網格上的線寬

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

設置流線顏色

關鍵字:color

取值可為:

  • 表示顏色的英文單詞:如綠色"g"
  • 表示顏色單詞的簡稱如:紅色"r",黃色"y"
  • RGB格式:十六進制格式如"#88c999";(r,g,b)元組形式
  • 可以轉入顏色列表

當使用cmap時,則需要color設置為二維數組,否則無效

設置流線縮放

關鍵字:norm

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

僅在顏色為數組時使用

設置流線顏色系

關鍵字: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數據

  • x,y:一維數組/二維數組
  • u,v:二維數組
  • 當為二維數組,可以通過np.meshgrid(x,y),np.mgrid()創建
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()

Python matplotlib如何繪制各種流線圖

設置linewidth、color、cmap屬性繪制流線圖

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

Python matplotlib如何繪制各種流線圖

 

小試牛刀

我們學習了關于繪制流線圖相關屬性,我們來實操一下控制流線的起點數據

  • 調用np.mgrid[]定義x,y二維數據
  • 調用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()

Python matplotlib如何繪制各種流線圖

 

總結

本期,我們對matplotlib.pyplot提供streamplot()方法繪制流線圖相關屬性的學習。流線圖通常使用在氣象學中,研究氣流變化情況。

以上就是Python matplotlib如何繪制各種流線圖的詳細內容,更多關于Python matplotlib繪制流線圖的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/weixin_54556126/article/details/121657705

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男gay男gay男gay野外 | 欧美成黑人性猛交xxoo | 日本午夜影院 | 久久精品一卡二卡三卡四卡视频版 | 精品国产成人AV在线看 | 精品国产一区二区在线观看 | 国产性做久久久久久 | 国产一卡二卡3卡4卡四卡在线 | 四虎网站网址 | 国产高清好大好夹受不了了 | 日本护士撒尿xxxxhd | 4hu永久地域网名入口 | 91久久综合 | katsumi精品hd | 午夜影视在线观看 | 国产人妖ts在线视频网 | 高清在线看 | 国产色图片| 荷兰精品女人性hd | jux539原千岁在线播放 | 爱情岛论坛亚洲自拍 | 全彩孕交漫画福利啪啪吧 | 美女被扒开屁股进去网 | 亚洲第一国产 | 免费国产之a视频 | 我和岳偷长篇小说 | 亚州笫一色惰网站 | 私人影院在线播放 | 青青草影院在线观看 | 麻豆网站在线观看 | 亚洲天堂在线视频观看 | 午夜深情在线观看免费 | 高跟翘臀老师后进式视频 | oneday日本在线观看完整版 | 图片专区小说专区卡通动漫 | 欧美18~20性hd| 亚洲高清中文字幕精品不卡 | kk4444了欧美| 美味情缘韩国在线观看视频 | 欧美又大又粗又爽视频 | 美女女女女女女bbbbbb毛片 |