Redimensionamiento de Ejes con Diseño Limitado

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.