Не очень актуальная проблема, но она меня беспокоит: я хочу отображать несколько изображений рядом (то есть несколько столбцов), но по какой-то причине следующий код (взят из Python Tutorial ) отображает только изображенияв одном столбце. Итак, мне нужен макет, подобный этому
X X X
, но я получаю
X
X
X
код:
...
plt.ion()
...
fig = plt.figure()
sample = face_dataset[65] # <== this is a simple image of size 640x480
for i, tsfrm in enumerate([scale, crop, composed]):
transformed_sample = tsfrm(sample)
ax = plt.subplot(1, 3, i + 1)
plt.tight_layout()
ax.set_title(type(tsfrm).__name__)
show_landmarks(**transformed_sample)
plt.show()
...
Вот определение функции show_landmarks:
def show_landmarks(image, landmarks):
"""Show image with landmarks"""
plt.imshow(image)
plt.scatter(landmarks[:, 0], landmarks[:, 1], s=10, marker='.', c='r')
plt.pause(0.001) # pause a bit so that plots are updated
Я не думаю, что разные преобразования (масштаб, обрезка, составление) имеют значение, поэтому я их пропустил, но их можно найти по ссылке выше.
Если я напишу в основном то же, что и тестовый код, столбцы будут отображаться нормально:
fig = plt.figure()
for i in (0,1,2):
ax = plt.subplot(1, 3, i + 1)
plt.tight_layout()
ax.set_title(i)
plt.show()
Так что я предполагаю, что каким-то образом show_landmarks все испортило. Кто-нибудь может указать мне правильное направление относительно того, почему / как это?