Легенда о розе ветров не отображает определенные ярлыки - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть код для определения меток для моих скобок легенды. У меня есть две проблемы с кодом: 1) я помечаю первую скобку как «спокойную», но когда я печатаю свой список меток ... она отображается не как таковая, а как «1 - 3 kts». 2) в моем графике «Роза ветров» я использую код ax.set_legend (tags = 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 кц ',' 3 - 8 кц ','8 - 12 узлов, «12 - 15 узлов», «15 - 20 узлов», «20 - 25 узлов», «> 25 узлов»] `` `

Участок розовых ветров за один период времени: введите описание изображения здесь

...