Измените размеры фигуры, чтобы они имели соотношение 6/3. В более общем случае, если у вас есть вложенные участки Nlines x Ncols, вам нужно использовать размеры рисунков с отношением Nlines / Ncols.
Это связано с тем, что imshow()
использует и 'equal'
форматное соотношение по умолчанию , чтобы гарантировать, что пиксели оказываются квадратными на экране. Это означает, что подзаголовки, которые изначально были созданы с прямоугольной формой с небольшим горизонтальным интервалом, изменяются в размер, чтобы иметь квадратную форму без изменения размеров фигуры, что приводит к большим зазорам между подплощадками. Чтобы избежать этой проблемы, тщательно выбирайте размер фигуры, чтобы подзаголовки уже были квадратными перед вызовом imshow()
.
width = 5
fig, axarr = plt.subplots(6,3,figsize=(width,width*6/3))
for i in range(6):
for ii in range(3):
#IMAGE
axarr[i,ii].imshow([[1,2],[2,3]])
# ADDITIONAL
axarr[i,ii].axis("off")
axarr[i,ii].set_title(str(i), color = 'red')
plt.show()
