Код: Выделить всё
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
Мобильная версия