Я пытаюсь воспроизвести некоторые сюжеты из этого видео с современными данными и наложением точек на линии для мер, принятых правительствами. Использование pandas для данных и для вызова команд построения.
w У меня нет проблем с построением линий и соответствующих легенд. Затем я добавляю наложенные точки, для которых я определил эти свойства:
point_opts = lambda marker, color: {'label': '', 'color': 'w', 'marker': marker, 'markeredgecolor': color, 'markeredgewidth': 3, 'linestyle': None}
Я бы хотел добавить их в легенду только один раз, а не один раз для каждой страны, отсюда и пустой ярлык.
Затем я пытаюсь изменить легенду следующим образом:
handles, labels = ax.get_legend_handles_labels()
for props in ({**point_opts(marker, 'black'), 'label': measure} for measure, marker in points.items()):
handles.append(matplotlib.lines.Line2D([], [], **props))
labels.append(props['label'])
ax.legend(handles=handles, labels=labels)
Однако это не меняет условные обозначения оси (и сообщения об ошибках не отображаются). Однако значения кажутся правильными. Например, если я добавлю второй график, на рисунке:
fig.legend(handles=handles, labels=labels, loc='center left')
, я получу результат ниже.
![Figure with 2 plots](https://i.stack.imgur.com/m6e5m.jpg)
Почему это происходит? Как я могу на самом деле изменить мою ось графика? Использование python 3.7.3 и matplotlib 3.1.3 в OpenSuse x64, если это имеет какое-либо значение.