Создание нечетного числа участков в Python - PullRequest
0 голосов
/ 12 октября 2018

Я очень новичок в Python, и я хочу построить 13 разных фигур в одном сюжете.Чтобы сделать это красиво, я хотел бы нарисовать первые 12 фигур в сетке 6х2 (это работает просто отлично), а затем построить 13-ю фигуру под ней;либо тот же размер, что и у других фигур и по центру, либо больше, чем у остальных, так что его ширина равна удвоенной ширине других фигур и все края выровнены.Как лучше всего указать оси такого типа, используя subplots?(Пока что я только что использовал nrows=6, ncols=2, но я думаю, что что-то подобное не будет работать с нечетным числом цифр для построения.) Код, который у меня есть для построения первых 12 графиков, выглядит следующим образом (сданные простого теста):

fig, axes = plt.subplots(nrows=6, ncols=2, figsize=(45,10))
for ax in axes.flat:
   ax.plot([1,2,3,4])
fig.subplots_adjust(right=0.5)

Как добавить 13-ю цифру ниже остальных?

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете использовать GridSpec (ссылка на документацию) для создания гибкого макета осей.

Следующий код создает желаемый макет и помещает все объекты Axes в список для быстрого доступа.

gs00 = matplotlib.gridspec.GridSpec(7, 2)

fig = plt.figure()
axs = []
for i in range(6):
    for j in range(2):
        ax = fig.add_subplot(gs00[i,j])
        axs.append(ax)
ax = fig.add_subplot(gs00[6,:])
axs.append(ax)

enter image description here

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