风玫瑰图例未显示定义的标签

我有一个代码可以为图例括号定义标签。我的代码有两个问题: 1)我将第一个方括号标记为“ calm”,但是当我打印标签列表时……它并没有显示,而是“ 1-3 kts”。 2)在我的Wind rose图中,使用代码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,step=3))
  ax.set_yticklabels(np.arange(1,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

tian150288 回答:风玫瑰图例未显示定义的标签

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136668.html

大家都在问