Код: Выделить всё
import matplotlib.pyplot as plt
import numpy as np
papersize = (8.5, 11)
fig = plt.figure(figsize=papersize)
ax = fig.add_axes(rect=(0, 0, 1, 1))
ax.add_patch(plt.Rectangle((0, 0), 1, 1, color="red", zorder=-1))
# this row changes the layount of the image
# ax.imshow(np.asarray([[0, 1], [1, 0]]), cmap="gray", extent=(0.25, 0.75, 0.25, 0.75))
fig.savefig("test.png", dpi=200)
[img]https://i. sstatic.net/mdl9EqtD.png[/img]
Но когда я раскомментирую строку с помощью imshow, вместо того, чтобы рисовать простое изображение посередине, все адские перерывы теряются, в результате на следующем изображении, которое занимает всю ширину и другой беспорядок:

Я понятия не имею, почему это происходит и как это предотвратить. Скажите, пожалуйста, чего мне не хватает.
Цель состоит в том, чтобы иметь возможность рисовать несколько изображений в местах, указанных экстентом, НЕ нарушая при этом макет всего остального.
Я хочу иметь фигуру указанного размера, чтобы оси охватывали всю фигуру и просто иметь холст для рисования, на который можно было бы помещать изображения.
Подробнее здесь: https://stackoverflow.com/questions/784 ... lot-layout