Ошибка объединения подзаговоров - объект «AxesSubplot» не имеет атрибута «get_gridspec» - PullRequest
0 голосов
/ 15 января 2019

Используя python 2.7x, я не могу выполнить обновление, так как я нахожусь в управляемой системе Windows. Я пытаюсь следовать этому примеру, чтобы объединить дочерние участки, но возвращает следующую ошибку:

Объект 'AxesSubplot' не имеет атрибута 'get_gridspec'

Я рассмотрел другие примеры здесь, но не могу найти ни одного, который бы работал со сборкой, которую я использую (Anaconda 2.7, Spyder IDE). Пример из:

https://matplotlib.org/tutorials/intermediate/gridspec.html

fig9 = plt.figure(constrained_layout=False)
gs1 = fig9.add_gridspec(nrows=3, ncols=3, left=0.05, right=0.48,
wspace=0.05)
f9_ax1 = fig9.add_subplot(gs1[:-1, :])
f9_ax2 = fig9.add_subplot(gs1[-1, :-1])
f9_ax3 = fig9.add_subplot(gs1[-1, -1])
gs2 = fig9.add_gridspec(nrows=3, ncols=3, left=0.55, right=0.98,
hspace=0.05)
f9_ax4 = fig9.add_subplot(gs2[:, :-1])
f9_ax5 = fig9.add_subplot(gs2[:-1, -1])
f9_ax6 = fig9.add_subplot(gs2[-1, -1]) 

1 Ответ

0 голосов
/ 15 января 2019

Просмотр документации figure.add_gridspec был добавлен в matplotlib 3 и выше.

Для Python 3.5 и выше вы можете просто обновить matplotlib до последней версии, и пример будет работать. Однако matplotlib 3 недоступен для Python 2.7 или Python 3.4 и ниже.

Поэтому вы можете использовать старый способ, как описано в старой документации

import matplotlib.gridspec as gridspec

gs1 = gridspec.GridSpec(3, 3)
gs1.update(left=0.05, right=0.48, wspace=0.05)
ax1 = plt.subplot(gs1[:-1, :])
ax2 = plt.subplot(gs1[-1, :-1])
ax3 = plt.subplot(gs1[-1, -1])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...