Crear un gráfico de Matplotlib con dos ejes

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

Este tutorial lo guiará a través de los pasos para crear un gráfico simple utilizando Matplotlib, una biblioteca de Python utilizada para la visualización de datos. Utilizaremos el módulo host_subplot para crear un gráfico con dos ejes y.

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 los módulos necesarios

El primer paso es importar los módulos necesarios para nuestro gráfico. Utilizaremos numpy para generar nuestros datos x e y, matplotlib.pyplot para crear el gráfico y mpl_toolkits.axes_grid1 para crear el segundo eje y.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import host_subplot

Generar datos

A continuación, necesitamos generar nuestros datos x e y. Generaremos una onda senoidal para este ejemplo.

xx = np.arange(0, 2*np.pi, 0.01)
yy = np.sin(xx)

Crear el gráfico

Ahora podemos crear nuestro gráfico utilizando la función host_subplot. Esta función crea un subgráfico con dos ejes y.

ax = host_subplot(111)
ax.plot(xx, yy)

Crear el segundo eje y

Para crear el segundo eje y, necesitamos crear un nuevo objeto de eje utilizando la función twin.

ax2 = ax.twin()

Establecer las etiquetas de los intervalos de la segunda coordenada y

Podemos establecer las etiquetas de los intervalos de la segunda coordenada y utilizando la función set_xticks y pasando las ubicaciones y etiquetas de los intervalos como argumentos.

ax2.set_xticks([0.,.5*np.pi, np.pi, 1.5*np.pi, 2*np.pi],
               labels=["$0$", r"$\frac{1}{2}\pi$",
                       r"$\pi$", r"$\frac{3}{2}\pi$", r"$2\pi$"])

Ocultar las etiquetas de los intervalos del eje y derecho

Podemos ocultar las etiquetas de los intervalos del eje y derecho utilizando la función major_ticklabels.set_visible.

ax2.axis["right"].major_ticklabels.set_visible(False)

Mostrar las etiquetas de los intervalos del eje y superior

Podemos mostrar las etiquetas de los intervalos del eje y superior utilizando la misma función major_ticklabels.set_visible.

ax2.axis["top"].major_ticklabels.set_visible(True)

Mostrar la gráfica

Finalmente, podemos mostrar nuestra gráfica utilizando la función show.

plt.show()

Resumen

En este tutorial, aprendimos cómo crear una gráfica simple con dos ejes y utilizando Matplotlib. Utilizamos el módulo host_subplot para crear la gráfica y el módulo mpl_toolkits.axes_grid1 para crear el segundo eje y. Generamos nuestros datos utilizando numpy y mostramos la gráfica utilizando matplotlib.pyplot.