Python Matplotlib: как отключить ограниченный макет, но сохранить положение осей? ⇐ Python

Программы на Python
Anonymous
Python Matplotlib: как отключить ограниченный макет, но сохранить положение осей?

Сообщение Anonymous »

Я создал подграфики (3,2) и принудительно установил для них constrained_layout=True.

Затем я хотел отключить constrained_layout с помощью .set_constrained_layout(False) из-за проблем с производительностью, но я бы хотел сохранить позиции осей.

Я пытался получить позиции в состоянии ограниченного макета, а затем применить эти позиции к осей после установки constrained_layout в значение False, следуя этим инструкциям, но это не работает.

С помощью приведенного ниже кода я ожидал получить следующий рисунок, но в итоге у меня получился рисунок под ним.

Чего мне не хватает?

< img alt="введите здесь описание изображения" src="https://i.sstatic.net/wBA3s.png" />

Изображение


import matplotlib.pyplot as plt

fig, ax = plt.subplots(3,2,constrained_layout =True)

mng = plt.get_current_fig_manager()
mng.window.showMaximized()
fig.canvas.draw()

bounds = [ex.get_position().bounds for ex in fig.axes]

fig.set_constrained_layout(False)

for i in range(len(fig.axes)):
fig.axes.set_position(bounds)

fig.canvas.draw()


Подробнее здесь: https://stackoverflow.com/questions/621 ... s-position

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