Nota
Haga clic aquí para descargar el código de ejemplo completo
Cambiar el tamaño de los ejes con diseño restringido #
El diseño restringido intenta cambiar el tamaño de las subtramas en una figura para que no haya superposiciones entre los objetos de los ejes y las etiquetas de los ejes.
Consulte la Guía de diseño restringido para obtener más detalles y la Guía de diseño ajustado para ver una alternativa.
import matplotlib.pyplot as plt
def example_plot(ax):
ax.plot([1, 2])
ax.set_xlabel('x-label', fontsize=12)
ax.set_ylabel('y-label', fontsize=12)
ax.set_title('Title', fontsize=14)
Si no usamos constrained_layout, las etiquetas se superponen a los ejes
fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=False)
for ax in axs.flat:
example_plot(ax)
la adición constrained_layout=True
se ajusta automáticamente.
fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=True)
for ax in axs.flat:
example_plot(ax)
A continuación se muestra un ejemplo más complicado que utiliza gridspecs anidados.
fig = plt.figure(constrained_layout=True)
import matplotlib.gridspec as gridspec
gs0 = gridspec.GridSpec(1, 2, figure=fig)
gs1 = gridspec.GridSpecFromSubplotSpec(3, 1, subplot_spec=gs0[0])
for n in range(3):
ax = fig.add_subplot(gs1[n])
example_plot(ax)
gs2 = gridspec.GridSpecFromSubplotSpec(2, 1, subplot_spec=gs0[1])
for n in range(2):
ax = fig.add_subplot(gs2[n])
example_plot(ax)
plt.show()
Referencias
En este ejemplo se muestra el uso de las siguientes funciones, métodos, clases y módulos:
Tiempo total de ejecución del script: (0 minutos 2.712 segundos)