Gráficos con múltiples ejes y utilizando 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 la visualización de datos, a menudo es necesario trazar múltiples variables con diferentes unidades de medida en la misma gráfica. Un método común para lograr esto es utilizar múltiples ejes y, donde cada eje y corresponde a una variable diferente. En este laboratorio, aprenderemos cómo crear una gráfica con múltiples ejes y utilizando Matplotlib.

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 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

Comenzamos importando las bibliotecas necesarias, Matplotlib y NumPy. Matplotlib es una biblioteca de visualización de datos y NumPy es una biblioteca para el cálculo numérico en Python.

import matplotlib.pyplot as plt
import numpy as np

Crear un objeto de figura y ejes

Creamos un objeto de figura y ejes, que representa una sola gráfica en Matplotlib.

fig, ax = plt.subplots()

Agregar un eje y gemelo

Agregamos un eje y gemelo a la gráfica utilizando el método twinx. Esto creará un nuevo eje y en el lado derecho de la gráfica.

twin1 = ax.twinx()

Establecer la posición del eje y gemelo

Establecemos la posición del eje y gemelo utilizando el método set_position. Esto moverá el eje y gemelo a la derecha del eje y original.

twin1.spines.right.set_position(("axes", 1.2))

Agregar datos a la gráfica

Agregamos datos a la gráfica utilizando el método plot. Agregamos tres líneas a la gráfica, cada una con un eje y diferente.

p1, = ax.plot([0, 1, 2], [0, 1, 2], "C0", label="Density")
p2, = twin1.plot([0, 1, 2], [0, 3, 2], "C1", label="Temperature")
p3, = twin2.plot([0, 1, 2], [50, 30, 15], "C2", label="Velocity")

Establecer los límites y etiquetas para los ejes

Establecemos los límites y etiquetas para cada eje y utilizando el método set. También establecemos el color de las etiquetas para que coincida con el color de las líneas utilizando el método set_color.

ax.set(xlim=(0, 2), ylim=(0, 2), xlabel="Distance", ylabel="Density")
twin1.set(ylim=(0, 4), ylabel="Temperature")
twin2.set(ylim=(1, 65), ylabel="Velocity")

ax.yaxis.label.set_color(p1.get_color())
twin1.yaxis.label.set_color(p2.get_color())
twin2.yaxis.label.set_color(p3.get_color())

Establecer los colores de las marcas de graduación

Establecemos los colores de las marcas de graduación para cada eje y para que coincidan con el color de las etiquetas.

ax.tick_params(axis='y', colors=p1.get_color())
twin1.tick_params(axis='y', colors=p2.get_color())
twin2.tick_params(axis='y', colors=p3.get_color())

Agregar una leyenda a la gráfica

Agregamos una leyenda a la gráfica utilizando el método legend. Pasamos una lista de objetos de línea como parámetro handles.

ax.legend(handles=[p1, p2, p3])

Mostrar la gráfica

Mostramos la gráfica utilizando el método show.

plt.show()

Resumen

En este laboratorio, aprendimos cómo crear un gráfico con múltiples ejes y utilizando Matplotlib. Creamos un objeto de figura y ejes, agregamos un eje y gemelo, establecimos la posición del eje y gemelo, agregamos datos a la gráfica, establecimos los límites y etiquetas para los ejes, establecimos los colores de las marcas de graduación, agregamos una leyenda a la gráfica y mostramos la gráfica. Esta técnica puede ser útil al comparar variables con diferentes unidades de medida en la misma gráfica.