使用Windrose库在Python中绘制风玫瑰
我有风的数据,包括风速和风向 然而,我的风向是逆时针的。也就是说,我的数据的45度实际上是西北角 在Python中使用Windrose是否有机会改变这一点 我有以下代码来绘制风玫瑰:使用Windrose库在Python中绘制风玫瑰,python,Python,我有风的数据,包括风速和风向 然而,我的风向是逆时针的。也就是说,我的数据的45度实际上是西北角 在Python中使用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
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°不在您希望的一侧,您可以将所有θ角转换为相反的角度,从而创建原始图像的镜像
让我们假设您的原始代码如下所示
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()
风玫瑰的方向由
theta
列表确定。如果90°不在您希望的一侧,您可以将所有θ角转换为相反的角度,从而创建原始图像的镜像
让我们假设您的原始代码如下所示
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()
您的代码示例应该是一个完整的MVP。它不按原样运行,因为缺少导入和变量定义。要运行它,我目前被困在
cm.秋
。这是什么?你的代码示例应该是一个完整的MVP。它不按原样运行,因为缺少导入和变量定义。要运行它,我目前被困在cm.秋
。这是什么?嗨,我的θ数据不是从最小值到最大值排序的。它可能看起来像θ=[240,-50,60,345,-15]。因此,我不得不改变定义,而仅仅交换θ也无济于事。你能用θ的实际定义更新你的问题吗?如果我能很好地理解你的目标,我想类似于theta=map(lambda x:360-x,theta)
的方法可能会奏效。嗨,不幸的是我不能发布数据。。但它的定义是0度是向北,然后是逆时针方向。所以90度是W等。数据是28000个数据点,包括风速和方向。好的,知道了。奇怪的是,我的安装没有任何修改。90°是东方。无论如何,我编辑我的答案以反映我对你的问题的理解。谢谢你的帮助!我还有一个关于温德罗斯的问题。你知道为什么我的半径标签显示的是风速而不是百分比吗?嗨,我的θ数据不是从最小到最大排序的。它可能看起来像θ=[240,-50,60,345,-15]。因此,我不得不改变定义,而仅仅交换θ也无济于事。你能用θ的实际定义更新你的问题吗?如果我能很好地理解你的目标,我想类似于theta=map(lambda x:360-x,theta)
的方法可能会奏效。嗨,不幸的是我不能发布数据。。但它的定义是0度是向北,然后是逆时针方向。所以90度是W等。数据是28000个数据点,包括风速和方向。好的,知道了。奇怪的是,我的安装没有任何修改。90°是东方。无论如何,我编辑我的答案以反映我对你的问题的理解。谢谢你的帮助!我还有一个关于温德罗斯的问题。你知道为什么我的半径标签显示的是风速而不是百分比吗?