今天用python的windrose模塊畫風玫瑰圖,發現以下3個問題,做下記錄:
1、風向0°不在北方
2、風向的順序不對
3、風向與實際風向相差90°
如下面的示例:
1 dir = np.arange(0, 360, 22.5) 2 spd = np.arange(0, 16, 1) 3 ax = WindroseAxes.from_ax() 4 ax.bar(np.arange(0, 360, 22.5), np.arange(0,16, 1), bins=np.arange(0, 16, 1)) 5 ax.set_legend()
如上圖所示,風向與氣象意義上的風向不符。
氣象上畫風玫瑰圖的話,需用以下代碼:
dir = np.arange(0, 360, 22.5) spd = np.arange(0, 16, 1) ax = WindroseAxes.from_ax() ax.set_theta_zero_location('N') # 設置零度方向為北 ax.set_theta_direction(-1) # 逆時針方向繪圖 dir1 = np.mod(90 - dir, 360) # 風向旋轉90° ax.bar(dir1, spd, bins=np.arange(0, 16, 1)) ax.set_legend()
顯示如下: