В matplotlib есть несколько вещей, называемых «метками».Например, есть метки осей, установленные через set_xlabel
, есть метки тиков, установленные через set_ticklabels
, и есть метки исполнителей, установленные через set_label
.
У каждого исполнителя в matplotlib есть атрибут label.Обычно вы сталкиваетесь с этим, когда устанавливаете метку, чтобы она отображалась в легенде
plt.plot(..., label="my label")
, но это может быть полезно и в других случаях.Вышеуказанное эквивалентно
line, = plt.plot(...)
line.set_label("mylabel")
Так что не только объект Line2D
, созданный plot
, имеет метку, но и matplotlib.axis.XAxis
имеет метку.Это тот, который вы установили с ax.yaxis.set_label
.Однако это по умолчанию не учитывается при создании легенды, поэтому его полезность вызывает сомнения у конечного пользователя.
Для меток осей set_ylabel
действительно метод, используемый для установки ylabel.Внутренне это вызовет yaxis.set_label_text
, поэтому, как правильно указано @DavidG, вы можете заменить ax.set_ylabel(..)
на ax.yaxis.set_label_text(..)
(за исключением дополнительного аргумента labelpad
, который принимается set_ylabel
, но не set_label_text
.