Как задать размеры Axes?
Для построения графиков мне необходимы три поля Axes:
import matplotlib.pyplot as plt
fig, (ax1, ax2, ax3) = plt.subplots(figsize=(16, 9.5), nrows = 3, sharex=True)
plt.show()
Получаю три одинаковых поля. Но мне необходимо, чтобы чтобы эти Axes имели разные размеры (по высоте и ширине) на одной figure, и при этом сохранялось авто масштабирование на всех полях. Как задать конкретные размеры для ax1, ax2, ax3? Спасибо!

Ответы (2 шт):
Вот пример разного построения размеров axes:
Есть возможность установить размер фигуры и размер подзаголовков внутри фигуры индивидуально с помощью gridspec_kw:
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2,1,figsize=(9,16), gridspec_kw={'height_ratios': [1, 2]})
axs[0].plot()
axs[1].plot()
Я не уверен, что это то, что вам нужно, но можно воспользоваться методом mosaic, где вы наглядно для себя можете расположить холсты на фигуре так, как вам нужно:
import matplotlib.pyplot as plt
mosaic = '''
AAAB
CDDB
CEEB
'''
fig = plt.figure(constrained_layout=True)
ax_dict = fig.subplot_mosaic(mosaic)
Теперь к каждой axes можно обращаться по имени, заданному в переменной mosaic.
соответственно, при
mosaic = '''
AAAB
CDDB
CEEB
'''
получите:


