Как заставить соотношение сторон подзаголовка при одинаковой ширине? - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь создать сюжет из двух сюжетов. 1 столбец, 2 строки. Аналогично изображению, но без подплота справа

Как можно сделать так, чтобы один подплот был квадратным, а другой - одинаковой ширины, не будучи квадратным?

from the seaborn gallery

Я безуспешно пытался использовать gridspec:

import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

fig = plt.figure(constrained_layout=True)

gs = GridSpec(nrows=4, ncols=3, height_ratios=[1, 1, 1, 1], figure=fig)
ax1 = fig.add_subplot(gs[:-1,:])
ax2 = fig.add_subplot(gs[-1,:])

Я также пытался установить соотношение сторон для обоих вспомогательных участков, что приводило к разной ширине вспомогательных участков:

fig, axs = plt.subplots(2)
axs[0].set_aspect(1)
axs[1].set_aspect(2)

Я также пытался ... но это фиксирует диапазон x для сюжетов к тому же значению.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import ImageGrid

F = plt.figure()
grid = ImageGrid(F, 111,
                 nrows_ncols=(2, 1),
                 axes_pad=0.1,
                 )

grid[1].set_aspect(.4)

Спасибо за любые предложения ...

1 Ответ

0 голосов
/ 12 октября 2019

Одно рабочее решение, которое я мог бы предложить, следуя советам ImportanceOfBeingErnest:

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.axes_divider import make_axes_locatable

fig = plt.figure(figsize=(10,12))
axScatter = plt.subplot(111)
axScatter.set_aspect(1.)

divider = make_axes_locatable(axScatter)
axHistx = divider.append_axes("bottom", size=.8, pad=0.2)

Спасибо!

...