matplotlib.figure.Figure.add_subplots () и add_axes () возвращают None вместо осей - PullRequest
2 голосов
/ 17 июня 2019

matplotlib.figure.Figure.add_subplots() ( doc ) должны вернуть оси.

Однако, делая

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot()
print(ax)

возвращает None.

То же самое происходит для ax = fig.add_axes()

Почему это происходит и как я могу получить дескриптор осей?

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Вы ссылаетесь на документацию по matplotlib 3.1.В matplotlib 3.1

ax = fig.add_subplot()

добавляет подзаговор и возвращает его.

Однако вы выполняете свой код в предыдущей версии.В matplotlib <3.1 вам нужно будет явно указать положение подзаговора в сеткесетка), поэтому <strong>необходим аргумент, а именно положение осей в координатах фигуры.

1 голос
/ 17 июня 2019

Вам необходимо указать, какой вид подзаговора вы добавляете, следующим образом.Здесь 111 означает 1 строку, 1 столбец.Последний индекс указывает индекс текущего субплота.

Если у вас 1 строка и 2 столбца, вам нужно будет добавить дважды: 121 и 122.Теперь 121 будет означать 1 строку, 2 столбца и 1-й субплот .Точно так же, 122 будет означать 1 строку, 2 столбца и 2-й субплот

ax = fig.add_subplot(111)
print (ax)
# AxesSubplot(0.125,0.125;0.775x0.755)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...