Просто позвоните fig.tight_layout()
, как обычно.(pyplot
- это просто удобная оболочка. В большинстве случаев вы используете ее только для быстрой генерации объектов фигур и осей, а затем напрямую вызываете их методы.)
Разница между * 1005 не должна быть* бэкэнд и бэкэнд по умолчанию (или, если есть, это ошибка).
Например,
import matplotlib.pyplot as plt
#-- In your case, you'd do something more like:
# from matplotlib.figure import Figure
# fig = Figure()
#-- ...but we want to use it interactive for a quick example, so
#-- we'll do it this way
fig, axes = plt.subplots(nrows=4, ncols=4)
for i, ax in enumerate(axes.flat, start=1):
ax.set_title('Test Axes {}'.format(i))
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
plt.show()
До плотного макета

После плотного размещения
import matplotlib.pyplot as plt
fig, axes = plt.subplots(nrows=4, ncols=4)
for i, ax in enumerate(axes.flat, start=1):
ax.set_title('Test Axes {}'.format(i))
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
fig.tight_layout()
plt.show()
