導航:首頁 > 編程語言 > pythonwindrose

pythonwindrose

發布時間:2024-02-03 02:59:44

『壹』 python氣象繪圖windrose

#導入包

import numpy as np

import pandas as pd

from matplotlib import pyplot as plt

from matplotlib.ticker import FuncFormatter

import matplotlib as mpl

mpl.rcParams['font.sans-serif'] = ['SimHei']  #設置簡黑字體

mpl.rcParams['axes.unicode_minus'] = False  #設置負號正常顯示

#----獲取數據DataFrames,index*columns。index表示不同值范圍,columns表示十六個風向

data = pd.DataFrame(wind_d_max_num_per,

                    index=['<15', '15~25', '25~35', '35~45',"≥45"],

                    columns='N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW'.split())

N = 16 # 風速分布為16個方向

theta = np.linspace(0, 2*np.pi, N, endpoint=False) # 獲取16個方向的如手角度值

width = np.pi / 4 * 0.4  # 繪制扇型的寬度,可以自行調整0.5時是360,充滿,有間隔的話小於0.5即可

labels = list(data.columns) # 自定義坐標標簽為 N , NSN, …渣笑嫌…# 開始繪圖

plt.figure(figsize=(6,6),dpi=600)

ax = plt.subplot(111, projection='polar')

#----自定義顏色

mycolor =['cornflowerblue','orange','mediumseagreen','lightcoral','cyan']

#----循環畫風玫瑰圖

i=0

for idx in data.index:

    print(idx)

    # 每一行繪制一個扇形

    radii = data.loc[idx] # 每一行數據

    if i == 0:

        ax.bar(theta, radii, width=width, bottom=0.0, label=idx, tick_label=labels,

          color=mycolor[i])

    else:

        ax.bar(theta, radii, width=width, bottom=np.sum(data.loc[data.index[0:i]]), label=idx, tick_label=labels,

          color=mycolor[i])

    i=i+1

#此種畫法,注意bottom設置,第一個bottom為0,後續bottom需要在前一個基礎上增加。

ax.set_xticks(theta)

ax.set_xticklabels(labels,fontdict={'weight':'bold','size':15,'color':'k'})

ax.set_theta_zero_location('N') #設置零度方向北

ax.set_theta_direction(-1)    # 逆時針方向繪圖

#----設置y坐標軸以百分升則數顯示

plt.gca().yaxis.set_major_formatter(FuncFormatter(lambda s, position: '{:.0f}%'.format(100*s)))

plt.legend(loc=4, bbox_to_anchor=(0.05, -0.25),fontsize=12) # 將label顯示出來, 並調整位置

#----保存圖片

plt.savefig("./windrose1.svg")

閱讀全文

與pythonwindrose相關的資料

熱點內容
蘋果wifi安卓怎麼連接不上 瀏覽:933
為什麼有的app只能用蘋果支付 瀏覽:174
手游雲頂文件夾 瀏覽:936
msvc和mingw都是編譯器嗎 瀏覽:424
數控機床編程解析 瀏覽:385
新老鳥虛擬資源網解壓碼 瀏覽:558
如何用域用戶登錄ftp伺服器 瀏覽:22
如何將讀書郎平板升級安卓系統 瀏覽:338
XC16編譯器有免費的嗎 瀏覽:499
編譯和程序編輯 瀏覽:848
androidv4和v7 瀏覽:714
iphoneapp怎麼從文件夾安裝 瀏覽:22
去掉加密平板電腦 瀏覽:377
二叉樹用什麼編譯器寫 瀏覽:323
手機除了主板還有什麼app 瀏覽:183
如何還原在伺服器上刪除的文件 瀏覽:851
pdf轉成黑白的 瀏覽:21
程序員為什麼是單身 瀏覽:928
選項卡中的命令組被稱為什麼 瀏覽:261
navicatlinux破解 瀏覽:612