Я думаю, проблема в том, что графики по умолчанию очень широки, поэтому даже когда я устанавливаю wspace на ноль, а matplotlib думает, что разбивает графики вместе, остается масса горизонтального пустого пространства.
Код: Выделить всё
def bad_plot() -> plt.Figure:
n_rows = 9
n_cols = 5
fig, axs = plt.subplots(
n_rows, n_cols,
# tight_layout=True,
# constrained_layout=True,
figsize=(n_rows + 1, n_cols + 1)
# gridspec_kw = {'wspace':0, 'hspace':0},
)
fig.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=0, hspace=0.1)
for nl, row in zip(range(10), axs):
gf = np.zeros((nl + 1, 1, 28, 28))
n = min(n_cols, gf.shape[0])
for i, (feat, lb) in enumerate(zip(gf[0:n], [nl] * n)):
ax = row[i]
ax.set_aspect(1)
ax.imshow(feat[0])
ax.text(0.03, 0.97, f"text: {lb:d}",
horizontalalignment='left',
verticalalignment='top',
transform=ax.transAxes,
fontsize=12,
color='w'
)
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
i += 1
while i < len(row):
# row[i].imshow(np.zeros((28, 28)))
# row[i].set_aspect(1)
# row[i].set_axis_off()
# row[i].set_visible(False)
i += 1
# fig.tight_layout()
return fig

Я хочу, чтобы все эти пробелы по горизонтали исчезли.
Подробнее здесь: https://stackoverflow.com/questions/798 ... tlib-plots