python windrose画风玫瑰图的一些问题
今天用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()
显示如下: