Introducción
En la visualización de datos, es fundamental tener gráficos claros y legibles. Sin embargo, crear múltiples subgráficos puede dificultar evitar solapes entre los objetos de los ejes y las etiquetas. En tales casos, podemos utilizar una característica llamada constrained layout en Matplotlib, que redimensiona automáticamente los subgráficos para evitar solapes entre los objetos de los ejes y las etiquetas.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importando las bibliotecas necesarias
Comenzamos importando las bibliotecas necesarias para crear subgráficos y trazar datos.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
Definiendo un gráfico de ejemplo
Definimos una función que crea un gráfico de línea simple con etiquetas de eje x e y y un título.
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)
Creando subgráficos sin diseño limitado
Creamos una figura con subgráficos de 2x2 sin utilizar constrained layout. Esto resulta en etiquetas solapadas en los ejes.
fig, axs = plt.subplots(nrows=2, ncols=2, layout=None)
for ax in axs.flat:
example_plot(ax)
Creando subgráficos con diseño limitado
Creamos los mismos subgráficos de 2x2, pero esta vez utilizamos constrained layout. Esto ajusta automáticamente los subgráficos para evitar solapes entre los objetos de los ejes y las etiquetas.
fig, axs = plt.subplots(nrows=2, ncols=2, layout='constrained')
for ax in axs.flat:
example_plot(ax)
Creando gridspecs anidados con diseño limitado
Creamos un ejemplo más complicado utilizando gridspecs anidados con constrained layout. Esto nos permite tener más control sobre el diseño de los subgráficos.
fig = plt.figure(layout='constrained')
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()
Resumen
Constrained layout es una característica útil en Matplotlib que redimensiona automáticamente los subgráficos para evitar solapes entre los objetos de los ejes y las etiquetas. Es particularmente útil al crear múltiples subgráficos en una figura. Siguiendo los pasos descritos en este tutorial, puede crear gráficos claros y legibles sin tener que preocuparse por las etiquetas solapadas.
Resumen
¡Felicitaciones! Has completado el laboratorio de Redimensionamiento de Ejes con Diseño Limitado. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.