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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成a人片免费看久久 | 91高跟丝袜 | 久久综久久美利坚合众国 | 日本在线观看免费高清 | 免费特黄一级欧美大片 | 亚洲国产成人久久77 | 国产高清路线一路线二2022 | 无人知晓小说姜璟免费阅读 | 俄罗斯bbbbbbbbb大片 | 糖心vlog麻豆精东影业传媒 | 黑帮大佬与我的365天2标清中文 | 第一福利在线导航 | 国产成人亚洲精品乱码在线观看 | 国产精品毛片va一区二区三区 | 免费午夜影片在线观看影院 | 农村老少伦小说 | 俄罗斯15一16处交 | 调教全程肉动画片在线观看 | 国产日韩欧美成人 | 国产精品久久久精品日日 | 污到你怀疑人生 | 日本一区二区三区四区无限 | hd性欧美俱乐部中文 | 手机看片1024日韩 | 精品国产一级毛片大全 | 欧美日韩视频在线第一区二区三区 | 亚洲男gay | 色综合九九 | 日韩视频在线免费观看 | 免费又爽又黄禁片视频在线播放 | 国产女王女m视频vk 国产农村一级特黄α真人毛片 | 欧美破处摘花 | 精品免费tv久久久久久久 | 美女黑人做受xxxxxⅹ | 男人狂擦女人的下面视频 | 亚洲九九爱 | 亚洲国产精品无码中文在线 | 日本69sex护士www | 国产传媒天美果冻 | 九九精品免视频国产成人 | 国产精品亚洲一区二区 |