Как построить аккуратные графики ImageGrid?Python

Программы на Python
Anonymous
Как построить аккуратные графики ImageGrid?

Сообщение Anonymous »

Когда я пытаюсь построить фигуры с ограниченным количеством мертвого пространства сверху, по бокам и снизу, я использую «tight_layout» или «constrained_layout». Однако похоже, что ImageGrid этого не поддерживает. Взгляните на следующий пример:

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid

# Data to populate plots.
im = np.arange(100).reshape((10, 10))

fig = plt.figure(figsize=(4, 6), constrained_layout=True)
grid = ImageGrid(fig, 111,
nrows_ncols=(5, 2),
axes_pad=0.2,
label_mode="L")

for ax in grid:
ax.imshow(im)

fig.suptitle("Testing a suptitle on with ImageGrid")
fig.savefig("imagegrid_suptitle.png")
Я получаю следующее предупреждение:

Предупреждение пользователя: с макетными сетками не существует спецификаций сетки. Возможно, родительский GridSpec не вызывался с ключевым словом "figure"
fig.savefig("imagegrid_suptitle.png")

И вот результат: ImageGrid с constrained_layout=True
Как видно, сверху, по бокам и снизу много пустого пространства, а заголовок расположен намного выше две верхние сетки. Является ли это ошибкой в constrained_layout или просто невозможно поддерживать его использование с ImageGrid?
Обратите внимание, что я пытался использовать Tight_layout, но выдал предупреждение об отсутствии поддержки ImageGrid:

Предупреждение пользователя: на этом рисунке показаны оси, несовместимые с Fight_layout, поэтому результаты могут быть неверными.
fig.tight_layout()

Это также приводит к перекрытию субтитров с двумя верхними сетками.

Подробнее здесь: https://stackoverflow.com/questions/696 ... grid-plots

Вернуться в «Python»