使用 Windrose 库在 Python 中绘制风玫瑰图
Plotting a wind rose in Python using Windrose Library
我有风数据,包括风速和风向。
然而,我的风向定义为逆时针方向。意思是,我的数据的 45 度实际上是 NW。
是否有机会在 Python 中使用 Windrose 更改此设置?
我有以下代码来绘制 Windrose:
from windrose import WindroseAxes
import matplotlib.pyplot as plt
theta = [0, 60, 120, 180, 240, 300]
speed = [10, 0, 10, 40, 50, 40]
ax = WindroseAxes.from_ax()
ax.bar(theta, speed)
plt.show()
风玫瑰的方向由 theta
列表决定。如果 90° 不在您希望的一侧,您可以将所有 theta 角转换为相反的角度,从而创建原始图像的镜像。
假设您的原始代码如下。
from windrose import WindroseAxes
import matplotlib.pyplot as plt
theta = [0, 90]
speed = [10, 10]
ax = WindroseAxes.from_ax()
ax.bar(theta, speed)
plt.show()
这向您显示了一个图形,在东方有一个条形,而您想要在西方(或相反)。
如果你采取相反的角度,你交换图形。以下代码将为您服务。
from windrose import WindroseAxes
import matplotlib.pyplot as plt
theta = [0, 90]
theta = [360 - x for x in theta] # Take the opposite angle
speed = [10, 10]
ax = WindroseAxes.from_ax()
ax.bar(theta, speed)
plt.show()
我有风数据,包括风速和风向。
然而,我的风向定义为逆时针方向。意思是,我的数据的 45 度实际上是 NW。
是否有机会在 Python 中使用 Windrose 更改此设置?
我有以下代码来绘制 Windrose:
from windrose import WindroseAxes
import matplotlib.pyplot as plt
theta = [0, 60, 120, 180, 240, 300]
speed = [10, 0, 10, 40, 50, 40]
ax = WindroseAxes.from_ax()
ax.bar(theta, speed)
plt.show()
风玫瑰的方向由 theta
列表决定。如果 90° 不在您希望的一侧,您可以将所有 theta 角转换为相反的角度,从而创建原始图像的镜像。
假设您的原始代码如下。
from windrose import WindroseAxes
import matplotlib.pyplot as plt
theta = [0, 90]
speed = [10, 10]
ax = WindroseAxes.from_ax()
ax.bar(theta, speed)
plt.show()
这向您显示了一个图形,在东方有一个条形,而您想要在西方(或相反)。
如果你采取相反的角度,你交换图形。以下代码将为您服务。
from windrose import WindroseAxes
import matplotlib.pyplot as plt
theta = [0, 90]
theta = [360 - x for x in theta] # Take the opposite angle
speed = [10, 10]
ax = WindroseAxes.from_ax()
ax.bar(theta, speed)
plt.show()