最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python繪制風(fēng)場方向和大小quiver問題

 更新時間:2023年08月16日 10:55:51   作者:小朱小朱絕不服輸  
這篇文章主要介紹了python繪制風(fēng)場方向和大小quiver問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

最近需要根據(jù)再分析資料的U風(fēng)和V風(fēng)分析背景場的風(fēng)場走向和大小,需要在地圖上繪制風(fēng)場箭頭。

先看一下結(jié)果:

長度代表風(fēng)速大小,箭頭指向代表風(fēng)向。繪制的經(jīng)緯度區(qū)間由計算的經(jīng)緯度數(shù)組決定。

一、python調(diào)用quiver繪制風(fēng)場箭頭

風(fēng)場主要是用箭頭表示風(fēng)的方向和大小,python中調(diào)用的方法為:

Axes.quiver(*args, data=None, **kw)

調(diào)用quivers的形式:

quiver(X, Y, U, V, C, **kw)

X、Y是箭頭的位置,U、V是箭頭數(shù)據(jù)(data),C是箭頭的顏色。

如果X、Y不存在(absent),他們將作為均勻網(wǎng)格被生成。

默認(rèn)設(shè)置會自動將箭頭的長度縮放到合理的大小。要改變箭頭的長度請參看 scale 和scale_units兩個關(guān)鍵字參數(shù)。

quiver函數(shù)的參數(shù):

X: 1D or 2D array, sequence, optional 1維或2維數(shù)組,序列(sequence),可自選(optional),箭頭位置的x坐標(biāo)
Y: 1D or 2D array, sequence, optional 1維或2維數(shù)組,序列,可自選,箭頭位置的y坐標(biāo)
U: 1D or 2D array or masked array, sequence 1維或2維數(shù)組或掩碼數(shù)組(參看masked array https://blog.csdn.net/liukai2918/article/details/78419302),序列,箭頭矢量的x分量
V: 1D or 2D array or masked array, sequence 1維或2維數(shù)組或掩碼數(shù)組,序列,箭頭矢量的y分量
C: 1D or 2D array, sequence, optional 1維或2維數(shù)組,序列(sequence),可自選,箭頭顏色
units(單位): [ 'width' | 'height' | 'dots' | 'inches' | 'x' | 'y' | 'xy' ]
   箭頭尺寸(除長度外)以此單位的倍數(shù)計算——即是說選定單位后,箭頭尺寸即是此單位的倍數(shù)
   ‘width'或'height':軸(axis)的寬度或高度
   ‘dots'或'inches':像素或英寸,基于圖的dpi
   ‘x', ‘y'或‘xy':分別是X、Y或X2+Y2的數(shù)據(jù)單位(data units)
   箭頭依單位不同而不同。對于'x'或'y',箭頭會隨著其一的增大(zoom in)而增大;對于其他單位,箭頭的大小與縮放狀態(tài)(zoom state)無關(guān)。對于'width'或'height',當(dāng)窗口重置時,箭頭的大小會隨著軸(axes)的寬度和高度的增大而增大;低于同意'dots'或'inches'。重置不會改變箭頭。
angles: [‘uv' | ‘xy'], array, 可自選
   用于決定箭頭角度的方法,默認(rèn)是'uv'
   ‘uv':箭頭的縱橫比(axis aspect ratio)為1,所以若U*==*V,則繪圖上箭頭的方向與水平軸逆時針呈45度(正向右)。
   ‘xy': 箭頭從(x,y)指向(x + u,y + v)。例如,使用它來繪制漸變場(gradient field)。
   或者,可以將任意角度指定為以水平軸逆時針方向的度數(shù)值的數(shù)組。
   注意:反轉(zhuǎn)數(shù)據(jù)軸將相應(yīng)地僅使用angles='xy'反轉(zhuǎn)箭頭。
scale : None, float, optional
   每個箭頭長度單位的數(shù)據(jù)單位數(shù)量,例如,每個繪圖寬度m / s;參數(shù)scale越小箭頭越長。默認(rèn)是None
   若是None,一個簡單的自動縮放算法將被采用,基于平均矢量長度和適量的數(shù)量。箭頭長度單位由scale_units參數(shù)給出。
width : scalar(標(biāo)量), optional
   箭桿(shaft)的寬度,以箭頭單位衡量。默認(rèn)是由以上單位的選擇和矢量數(shù)量來決定。常用的初始值是0.005倍的畫的寬度(width of the plot)
headwidth : scalar, optional 頭部寬度相對于箭桿寬度的倍數(shù),默認(rèn)是3倍
headlength : scalar, optional 軸交叉處的頭部長度,默認(rèn)是4.5

matplotlib繪制圖像的官方網(wǎng)站介紹

二、python在地圖上繪制風(fēng)場

1. 數(shù)據(jù)準(zhǔn)備

quiver(X, Y, U, V, C, **kw)
  • X:經(jīng)度,這里使用一維數(shù)組
  • Y:緯度,這里使用一維數(shù)組
  • U:U風(fēng),根據(jù)經(jīng)緯度從數(shù)據(jù)集中提取的U風(fēng),一維數(shù)組
  • V:V風(fēng),根據(jù)經(jīng)緯度從數(shù)據(jù)集中提取的V風(fēng),一維數(shù)組
  • C:顏色,隨便設(shè)置

width:0.005

scale:200 設(shè)置箭頭比例,可以自行調(diào)節(jié)嘗試

headwidth:2

m.quiver(x, y, u_wind, v_wind, color='deepskyblue', width=0.005, scale=200, headwidth=2)

經(jīng)緯度設(shè)置:

# 用兩個列表存儲研究區(qū)域的經(jīng)緯度,這里取正負(fù)5°的區(qū)間。
lonlist = []
latlist = []
for k in np.linspace(appro_lat - 5, appro_lat + 5, 21):
    for i in np.linspace(appro_lon - 5, appro_lon + 5, 21):
        lonlist.append(i)
        latlist.append(k)

U,V風(fēng)提?。?/p>

u_wind = []
v_wind = []
for i in range(len(lonlist)):
    u_wind.append(nc_obj.variables['u10'][time_index][latitude.index(latlist[i])][longitude.index(lonlist[i])])
    v_wind.append(nc_obj.variables['v10'][time_index][latitude.index(latlist[i])][longitude.index(lonlist[i])])

這里都是用一維數(shù)組表示,具體的情況將根據(jù)自己的需要設(shè)置。

2. 在地圖上繪制風(fēng)場箭頭

fig = plt.figure(figsize=(8, 6))
m = Basemap(projection='cyl', llcrnrlat=min(latlist), llcrnrlon=min(lonlist), urcrnrlat=max(latlist),
            urcrnrlon=max(lonlist))  # 使用Basemap獲取地圖
# 通過readshapefile讀取地圖文件shp
m.readshapefile(CN_pro', 'states')  // 根據(jù)自己的需要readshapefile讀取地圖文件
m.drawcoastlines(color='black')
m.drawstates(color='black')
m.drawcountries(color='black')
x, y = m(*(lonlist, latlist))  # 將lats / lons轉(zhuǎn)換為地圖投影坐標(biāo)
m.drawmeridians(np.arange(math.ceil(min(lonlist)), int(max(lonlist)), 5), labels=[0, 0, 0, 1])
m.drawparallels(np.arange(math.ceil(min(latlist)), int(max(latlist)), 5), labels=[1, 0, 0, 0])
# 在地圖上繪制BestTrack的經(jīng)緯度
best_lon, best_lat = m(lon[t], lat[t])
# 在地圖上繪制點(diǎn)
m.plot(best_lon, best_lat, 'o', color='red', ms=5)
# 繪制風(fēng)場箭頭
m.quiver(x, y, u_wind, v_wind, color='deepskyblue', width=0.005, scale=200, headwidth=2)
plt.show()

需要在地圖上繪制衛(wèi)星云圖亮溫值請參考:python繪制登陸時的衛(wèi)星云圖(TBB)。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • NumPy 形狀操縱的實(shí)現(xiàn)示例

    NumPy 形狀操縱的實(shí)現(xiàn)示例

    本文主要介紹了NumPy 形狀操縱的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • Python如何爬取b站熱門視頻并導(dǎo)入Excel

    Python如何爬取b站熱門視頻并導(dǎo)入Excel

    這篇文章主要介紹了Python如何爬取b站熱門視頻并導(dǎo)入Excel,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • python 自動化辦公之批量修改文件名實(shí)操

    python 自動化辦公之批量修改文件名實(shí)操

    這篇文章主要介紹了python 自動化辦公之批量修改文件名實(shí)操,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • 10個必須要掌握的Python內(nèi)置函數(shù)

    10個必須要掌握的Python內(nèi)置函數(shù)

    Python?解釋器自帶的函數(shù)叫做?內(nèi)置函數(shù),這些函數(shù)不需要import?導(dǎo)入就可以直接使用。本文小編為大家總結(jié)了十個必須要掌握的Python內(nèi)置函數(shù),實(shí)用且高效,需要的可以參考一下
    2022-02-02
  • Python如何從列表中刪除相鄰和不相鄰的相同元素

    Python如何從列表中刪除相鄰和不相鄰的相同元素

    這篇文章主要介紹了Python如何從列表中刪除相鄰和不相鄰的相同元素問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python中wordcloud安裝的方法小結(jié)

    python中wordcloud安裝的方法小結(jié)

    這篇文章主要介紹了安裝python中wordcloud的幾種方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Python中集合類型(set)學(xué)習(xí)小結(jié)

    Python中集合類型(set)學(xué)習(xí)小結(jié)

    這篇文章主要介紹了Python中集合類型(set)學(xué)習(xí)小結(jié),本文講解了set的初始化、運(yùn)算操作、基本方法等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • python字符串對其居中顯示的方法

    python字符串對其居中顯示的方法

    這篇文章主要介紹了python字符串對其居中顯示的方法,涉及Python打印輸出顯示的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • python環(huán)境下安裝opencv庫的方法

    python環(huán)境下安裝opencv庫的方法

    這篇文章主要介紹了python環(huán)境下安裝opencv庫的方法 ,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 用Pygal繪制直方圖代碼示例

    用Pygal繪制直方圖代碼示例

    這篇文章主要介紹了用Pygal繪制直方圖代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12

最新評論

宁国市| 兴和县| 三亚市| 栾城县| 安国市| 富平县| 正宁县| 荥经县| 龙州县| 江津市| 五家渠市| 萝北县| 玉田县| 富宁县| 天津市| 临清市| 施秉县| 都昌县| 云南省| 镇原县| 乌兰浩特市| 车险| 浦县| 镇坪县| 白山市| 古田县| 长葛市| 英山县| 许昌市| 博罗县| 淅川县| 安达市| 班玛县| 彭山县| 汉源县| 沅陵县| 东辽县| 都兰县| 余江县| 武陟县| 泊头市|