Introducción
Esta práctica está diseñada para introducirte a los conceptos básicos de visualización de datos utilizando Matplotlib. Matplotlib es una popular biblioteca de visualización de datos para Python que ofrece una amplia variedad de opciones para crear gráficos, diagramas y tablas.
Consejos sobre la VM
Una vez que se haya iniciado la VM, haz 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 tengas 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 tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos el problema para ti de inmediato.
Configuración
Antes de comenzar, debemos asegurarnos de que Matplotlib esté instalado. Puedes instalarlo utilizando pip, ejecutando el siguiente comando:
!pip install matplotlib
Una vez instalado, debemos importar la biblioteca y configurar el entorno:
import matplotlib.pyplot as plt
import numpy as np
## Fixing random state for reproducibility
np.random.seed(19680801)
## Create new Figure with black background
fig = plt.figure(figsize=(8, 8), facecolor='black')
## Add a subplot with no frame
ax = plt.subplot(frameon=False)
Generando datos aleatorios
En este paso, generaremos datos aleatorios que usaremos para crear nuestro gráfico.
## Generate random data
data = np.random.uniform(0, 1, (64, 75))
X = np.linspace(-1, 1, data.shape[-1])
G = 1.5 * np.exp(-4 * X ** 2)
Creando gráficos de líneas
Crearemos gráficos de líneas utilizando los datos aleatorios que generamos en el paso anterior.
## Generate line plots
lines = []
for i in range(len(data)):
## Small reduction of the X extents to get a cheap perspective effect
xscale = 1 - i / 200.
## Same for linewidth (thicker strokes on bottom)
lw = 1.5 - i / 100.0
line, = ax.plot(xscale * X, i + G * data[i], color="w", lw=lw)
lines.append(line)
Estableciendo límites y eliminando marcas de graduación
En este paso, estableceremos el límite de y y eliminaremos las marcas de graduación del gráfico.
## Set y limit (or first line is cropped because of thickness)
ax.set_ylim(-1, 70)
## No ticks
ax.set_xticks([])
ax.set_yticks([])
Agregando título
Agregaremos un título a nuestro gráfico.
## 2 part titles to get different font weights
ax.text(0.5, 1.0, "MATPLOTLIB ", transform=ax.transAxes,
ha="right", va="bottom", color="w",
family="sans-serif", fontweight="light", fontsize=16)
ax.text(0.5, 1.0, "UNCHAINED", transform=ax.transAxes,
ha="left", va="bottom", color="w",
family="sans-serif", fontweight="bold", fontsize=16)
Animando el gráfico
Ahora animaremos el gráfico desplazando los datos hacia la derecha y llenando con nuevos valores.
import matplotlib.animation as animation
def update(*args):
## Shift all data to the right
data[:, 1:] = data[:, :-1]
## Fill-in new values
data[:, 0] = np.random.uniform(0, 1, len(data))
## Update data
for i in range(len(data)):
lines[i].set_ydata(i + G * data[i])
## Return modified artists
return lines
## Construct the animation, using the update function as the animation director.
anim = animation.FuncAnimation(fig, update, interval=10, save_count=100)
plt.show()
Resumen
En este laboratorio, aprendimos los conceptos básicos de visualización de datos utilizando Matplotlib. Generamos datos aleatorios, creamos gráficos de líneas, establecimos límites y eliminamos las marcas de graduación, agregamos un título y animamos el gráfico. Estos son solo los conceptos básicos, y Matplotlib ofrece muchas más opciones para personalizar y mejorar tus visualizaciones.