Я пытаюсь создать сетку изображений с помощью matplotlib. Первая строка и столбец определяют входные данные для функции, а остальная часть сетки - выходные данные. Вот чье-то упоминание о том, как я бы хотел, чтобы это выглядело: ссылка .
Особенно обратите внимание, что строки отделяют первую строку и столбец от всего остального.
Я пытался за последние пару часов, чтобы заставить его работать. Лучшее, что я до сих пор сделал, - это использование Gridspe c, чтобы разделить изображение на четыре группы и построить изображение, используя PIL. Однако по какой-то причине я не могу понять, что формы различных участков не совпадают.
Прикрепление минимального кода и его вывод.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import PIL
f = plt.figure(figsize=(20, 20))
resolution = 256
num_images = 6
h = w = num_images
main_grid = gridspec.GridSpec(h, w, hspace=0, wspace=0)
col = f.add_subplot(main_grid[0, 1:])
row = f.add_subplot(main_grid[1:, 0])
mid = f.add_subplot(main_grid[1:, 1:])
corner = f.add_subplot(main_grid[0, 0])
corner_canvas = PIL.Image.new('RGB', (resolution, resolution), 'gray')
mid_canvas = PIL.Image.new('RGB', (resolution * w, resolution * h), 'yellow')
col_canvas = PIL.Image.new('RGB', (resolution * w, resolution), 'blue')
row_canvas = PIL.Image.new('RGB', (resolution, resolution * h), 'red')
corner.imshow(corner_canvas)
col.imshow(col_canvas)
row.imshow(row_canvas)
mid.imshow(mid_canvas)
plt.savefig('fig.png')
Как вы можете видеть здесь , формы не совпадают, что делает сетку не выровненной. Любое решение, создающее изображение в стиле ссылки, было бы замечательно!