Python windrose 90 度偏离和错误的标签

标签 python matplotlib

我正在使用 windrose.py 并且没有得到与其他人相同的样本结果。而不是“N”在顶部,我在图像顶部得到 90。每个方向我都有多个风速。我首先在一个方向上测试绘图。我不知道如何绘制其他 350 度。
该图未在 10 度处显示为风向阵列状态。
这是代码:

from windrose import WindroseAxes
from matplotlib import pyplot as plt
import matplotlib.cm as cm
import numpy as np
from matplotlib.projections import register_projection

register_projection(WindroseAxes)

ws = [1.81,1.58,0.09,0.11,0.01]
wd = [10,10,10,10,10]
ws_array = np.array(ws)
wd_array = np.array(wd)

ax = WindroseAxes.from_ax()
ax.bar(wd_array, ws_array, normed=True, opening=1.0, edgecolor='white')

color_s = ['red', 'blue', 'lime', 'yellow', 'violet', 'aqua', 'pink', 'grey', 'darkred', 'navy', 'green']
ax.set_legend(title = 'Wind Speed in Knots', bbox_to_anchor=(1.05, 1), loc='upper left', handles = color_s, borderaxespad=0.)

这是情节:
enter image description here

最佳答案

我发现我只需要设置刻度标签:

ax.set_xticklabels(['E', 'NE', 'N', 'NW',  'W', 'SW', 'S', 'SE'])
正如您所说,原始数字刻度标签似乎偏移了 90 度。然而数据以正确的方向绘制 为了我。
值得仔细检查一下,这对您来说也是如此。我用直方图检查了我的数据是什么样的。这对我来说非常简单,因为我的风速和方向阵列是 Pandas 系列。所以我只能做 wd.plot.hist()

关于Python windrose 90 度偏离和错误的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65129447/

相关文章:

python - 使用 Matplotlib imshow 将没有数据的点设置为白色

python - 如何在 django 1.8 中使用 Treebeard 管理

python - 向 django InlineFormSet 添加额外的字段

python导入一个非标准库

python - 自动将绘图保存在 ipython 笔记本中

python - 无法在Python中导入 basemap 库

javascript - Python 与 Javascript 浮点运算给出了截然不同的答案。我究竟做错了什么?

python - 有没有办法在 matplotlib 中标记多个 3d 表面?

python matplotlib 在axes.lines上迭代得到错误的长度

python - 一些子图之间的间距,但不是全部