Crear visualizaciones personalizadas con 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 tutorial, aprenderemos cómo crear y personalizar gráficos utilizando Matplotlib. Matplotlib es una biblioteca de Python que ofrece una amplia variedad de herramientas para crear visualizaciones estáticas, animadas e interactivas en Python.

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 puede automatizarse debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.

Importando las bibliotecas Matplotlib y NumPy

El primer paso es importar las bibliotecas. Vamos a utilizar el módulo pyplot de Matplotlib y la biblioteca numpy.

import matplotlib.pyplot as plt
import numpy as np

Creando una figura y subgráficos

El siguiente paso es crear una figura y subgráficos. Crearemos una figura con dos subgráficos uno al lado del otro utilizando la función subplots.

fig, (ax0, ax1) = plt.subplots(ncols=2, figsize=(7, 4))

Estableciendo la relación de aspecto y graficando datos

Ahora, estableceremos la relación de aspecto del primer subgráfico en 1 utilizando la función set_aspect y graficaremos algunos datos utilizando la función plot.

ax0.set_aspect(1)
ax0.plot(np.arange(10))

Personalizando las etiquetas de los ejes

Para personalizar las etiquetas de los ejes, podemos utilizar las funciones set_xlabel y set_ylabel. También podemos agregar saltos de línea utilizando el carácter "\n".

ax0.set_xlabel('this is a xlabel\n(with newlines!)')
ax0.set_ylabel('this is vertical\ntest', multialignment='center')

Agregando texto a la gráfica

Podemos agregar texto a la gráfica utilizando la función text. Podemos especificar la posición, la rotación, la alineación horizontal y vertical, y la multialineación del texto.

ax0.text(2, 7, 'this is\nyet another test',
         rotation=45,
         horizontalalignment='center',
         verticalalignment='top',
         multialignment='center')

Agregando líneas de cuadrícula

Para agregar líneas de cuadrícula a la gráfica, podemos utilizar la función grid.

ax0.grid()

Agregando texto en múltiples líneas al segundo subgráfico

En el segundo subgráfico, agregaremos texto en múltiples líneas utilizando la función text. Podemos especificar la posición, el tamaño, la alineación vertical y horizontal, y el bbox del texto.

ax1.text(0.29, 0.4, "Mat\nTTp\n123", size=18,
         va="baseline", ha="right", multialignment="left",
         bbox=dict(fc="none"))

ax1.text(0.34, 0.4, "Mag\nTTT\n123", size=18,
         va="baseline", ha="left", multialignment="left",
         bbox=dict(fc="none"))

ax1.text(0.95, 0.4, "Mag\nTTT$^{A^A}$\n123", size=18,
         va="baseline", ha="right", multialignment="left",
         bbox=dict(fc="none"))

Personalizando las etiquetas del eje X

Para personalizar las etiquetas del eje x, podemos utilizar la función set_xticks. Podemos especificar las posiciones y las etiquetas de las marcas.

ax1.set_xticks([0.2, 0.4, 0.6, 0.8, 1.],
               labels=["Jan\n2009", "Feb\n2009", "Mar\n2009", "Apr\n2009",
                       "May\n2009"])

Agregando una línea horizontal y un título al segundo subgráfico

Para agregar una línea horizontal al segundo subgráfico, podemos utilizar la función axhline. También podemos agregar un título al subgráfico utilizando la función set_title.

ax1.axhline(0.4)
ax1.set_title("test line spacing for multiline text")

Ajustando las posiciones de los subgráficos y mostrando la gráfica

Finalmente, podemos ajustar las posiciones de los subgráficos utilizando la función subplots_adjust y mostrar la gráfica utilizando la función show.

fig.subplots_adjust(bottom=0.25, top=0.75)
plt.show()

Resumen

En este tutorial, aprendimos cómo crear y personalizar gráficos utilizando Matplotlib. Cubrimos cómo crear una figura y subgráficos, trazar datos, personalizar las etiquetas de los ejes, agregar texto al gráfico, agregar líneas de cuadrícula, personalizar las etiquetas del eje x, agregar una línea horizontal y un título al gráfico, y ajustar las posiciones de los subgráficos. Matplotlib proporciona una amplia gama de herramientas para crear visualizaciones estáticas, animadas e interactivas en Python, lo que la convierte en una poderosa biblioteca para la visualización de datos.