Добавить внешние поля с ограниченным макетом?Python

Программы на Python
Ответить
Anonymous
 Добавить внешние поля с ограниченным макетом?

Сообщение Anonymous »

При создании рисунка для сохранения в файле PDF мне хотелось бы отрегулировать положение рисунка относительно краев страницы, например, чтобы добавить дюймовые поля со всех сторон. Насколько я могу судить, решения для этого (например, в этом вопросе):
  • не работают с режимом constrained_layout — применение plt.subplots_adjust() после создания фигуры, но до fig.savefig() портит ограниченный макет
  • на самом деле не корректирует количественно расположение фигуры — добавление bbox_inches="tight" илиpad=-1, кажется, не делают ничего значимого
Есть ли простой способ настроить внешние поля ограниченной фигуры макета?
Например:

Код: Выделить всё

fig = plt.figure(constrained_layout=True, figsize=(11, 8.5))

page_grid = gridspec.GridSpec(nrows=2, ncols=1, figure=fig)

# this doesn't appear to do anything with constrained_layout=True
page_grid.update(left=0.2, right=0.8, bottom=0.2, top=0.8)

top_row_grid = gridspec.GridSpecFromSubplotSpec(1, 3, subplot_spec=page_grid[0])
for i in range(3):
ax = fig.add_subplot(top_row_grid[:, i], aspect="equal")

n_bottom_row_plots = 10
qc_grid = gridspec.GridSpecFromSubplotSpec(1, n_bottom_row_plots, subplot_spec=page_grid[1])
for i, metric in enumerate(range(n_bottom_row_plots)):
ax = fig.add_subplot(qc_grid[:, i])
plt.plot(np.arange(5), np.arange(5))

fig.suptitle("my big label", fontweight="bold", fontsize="x-large", y=0.9)

# this ruins the constrained layout
# plt.subplots_adjust(left=0.2,right=0.8, bottom=0.2, top=0.8)

fig.savefig("temp.png", facecolor="coral")
Выдает следующее (я бы хотел видеть больше кораллов по краям!):
Изображение


Подробнее здесь: https://stackoverflow.com/questions/635 ... ned-layout
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»