Matplotlib plt.xlabel () против ax.set_xlabel () - PullRequest
0 голосов
/ 05 апреля 2020

Я использую некоторый код, который использует одиночную версию matplotlib в Python, то есть он имеет вызовы типа

plt.figure()
...
plt.xlabel("abc")

Я пытаюсь преобразовать его в функциональную версию без памяти:

fig,ax = plt.subplots()
...
ax.set_xlabel("abc")

Пара вопросов:

  • Есть ли возможность напрямую установить xlabel осей? Что-то вроде ax.xlabel = "xlabel string"?

  • Из документации кажется, что это невозможно. (даже не личный атрибут, который мы можем установить)

  • Или всегда требуется go через сеттер? Это всегда смущало меня и казалось мне не-Pythoni c.

  • Почему API изменился с plt.xlabel() на ax.set_xlabel()?

1 Ответ

1 голос
/ 05 апреля 2020

Matplotlib имел интерфейс pyplot, а затем разработал объектно-ориентированный интерфейс, как описано в документации (https://matplotlib.org/3.2.1/tutorials/introductory/lifecycle.html).

Последнее теперь предпочтительнее, поэтому используйте fig, ax = plt.subplots, а затем используйте метод set для ax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...