我有一个代码来定义我的图例括号的标签。我对代码有两个问题: 1) 我将第一个括号标为“冷静”,但当我打印标签列表时。。。它不显示,但作为这样,但作为“1-3 kts”。 2) 在Wind rose plot using中,我使用代码ax.set\ legend(labels=spd\ labels)在图例中使用我的标签。但是,输出显示默认标签而不返回错误消息。 现在,我想说我的代码在整个夏天运行得非常好。。。但现在不是了
下面是我的代码和输出:
''
def speed_labels(spd_bins, units):
labels = []
for left, right in zip (spd_bins[:-1], spd_bins[1:]):
if left == spd_bins[1:3]:
labels.append('calm'.format(right))
elif np.isinf(right):
labels.append('>{} {}'.format(left, units))
else:
labels.append('{} - {} {}'.format(left, right, units))
print(labels)
return list(labels)
# 2)define our bins and labels for speed and wind:
spd_bins = [1, 3, 8, 12, 15, 20, 25] #, np.inf]
spd_labels = speed_labels(spd_bins, units='kts')+['>25 kts']
index = [1995, 1996, 1997, 1998, 1999, 2000, 2001]
df= []
for ii in index:
df = walney[walney['date'].dt.year.isin([ii, ii+7])]
plt.hist([0, 1])
plt.close()
ax=WindroseAxes.from_ax()
ax.grid(linestyle="dashed", color="black", zorder=0)
ax.bar(df['dir'], df['w_speed'],normed=True, opening=1, cmap = cm.magma_r, edgecolor='white', linewidth=0.5, bins=spd_bins, nsector=36, zorder= 3)
ax.set_legend(loc=(-0.12, 0.75), labels=spd_labels)
ax.set_yticks(np.arange(1, 12, step=3))
ax.set_yticklabels(np.arange(1, 12, step=3))
ax.set_title(list(range(ii, ii+8)))
plt.show()
标签输出:['1-3 kts','3-8 kts','8-12 kts','12-15 kts','15-20 kts','20-25 kts','>;25 kts']```
其中一个时间段的风玫瑰图: enter image description here
目前没有回答
相关问题 更多 >
编程相关推荐