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()

显示如下:

 

posted @ 2021-12-20 16:45  气象小白  阅读(1062)  评论(0编辑  收藏  举报