Alinear etiquetas y en gráficos de Matplotlib

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 este laboratorio, aprenderá cómo alinear las etiquetas y en los gráficos de Matplotlib. La alineación de las etiquetas y es importante para mejorar la legibilidad de los gráficos, especialmente cuando hay múltiples subgráficos.

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.

Importar las bibliotecas necesarias

El primer paso es importar las bibliotecas necesarias. En este laboratorio, usaremos Matplotlib y NumPy.

import matplotlib.pyplot as plt
import numpy as np

Crear el gráfico

El siguiente paso es crear el gráfico. Crearemos un gráfico con dos subgráficos, donde las etiquetas y no están alineadas.

def make_plot(axs):
    box = dict(facecolor='yellow', pad=5, alpha=0.2)

    ## Fixing random state for reproducibility
    np.random.seed(19680801)
    ax1 = axs[0, 0]
    ax1.plot(2000*np.random.rand(10))
    ax1.set_title('ylabels not aligned')
    ax1.set_ylabel('misaligned 1', bbox=box)
    ax1.set_ylim(0, 2000)

    ax3 = axs[1, 0]
    ax3.set_ylabel('misaligned 2', bbox=box)
    ax3.plot(np.random.rand(10))

    ax2 = axs[0, 1]
    ax2.set_title('ylabels aligned')
    ax2.plot(2000*np.random.rand(10))
    ax2.set_ylabel('aligned 1', bbox=box)
    ax2.set_ylim(0, 2000)

    ax4 = axs[1, 1]
    ax4.plot(np.random.rand(10))
    ax4.set_ylabel('aligned 2', bbox=box)

fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
plt.show()

Alinear automáticamente las etiquetas y

El tercer paso es alinear automáticamente las etiquetas y utilizando el método .Figure.align_ylabels.

fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
fig.align_ylabels(axs[:, 1])
plt.show()

Alinear manualmente las etiquetas y

El cuarto paso es alinear manualmente las etiquetas y utilizando el método ~.Axis.set_label_coords del objeto del eje y.

fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)

labex = -0.3  ## coordenadas de los ejes

for j in range(2):
    axs[j, 1].yaxis.set_label_coords(labex, 0.5)

plt.show()

Resumen

En este laboratorio, aprendiste cómo alinear las etiquetas y en los gráficos de Matplotlib. La alineación de las etiquetas y es importante para mejorar la legibilidad de los gráficos, especialmente cuando hay múltiples subgráficos. Cubrimos dos métodos para alinear las etiquetas y, uno utilizando una llamada breve a .Figure.align_ylabels y el segundo una forma manual de alinear las etiquetas.

Conclusión

¡Felicitaciones! Has aprendido cómo alinear las etiquetas y en los gráficos de Matplotlib. Sigue practicando y explorando la biblioteca Matplotlib para mejorar tus habilidades de visualización.

Resumen

¡Felicitaciones! Has completado el laboratorio de Alineación de Etiquetas y. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.