Histograma animado 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 laboratorio, aprenderá a crear un histograma animado utilizando Matplotlib en Python. El histograma animado simulará la llegada de nuevos datos y actualizará las alturas de los rectángulos con los nuevos datos.

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 su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.

Importar bibliotecas

En primer lugar, necesitamos importar las bibliotecas necesarias.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

Establecer semilla aleatoria y contenedores

Establece una semilla aleatoria para la reproducibilidad y fija los bordes de los contenedores.

## Fijando el estado aleatorio para la reproducibilidad
np.random.seed(19680801)

## Fijando los bordes de los contenedores
HIST_BINS = np.linspace(-4, 4, 100)

Crear datos y histograma

Crea datos y un histograma utilizando NumPy.

## hacemos un histograma de nuestros datos con numpy
data = np.random.randn(1000)
n, _, _ = plt.hist(data, HIST_BINS, lw=1, ec="yellow", fc="green", alpha=0.5)

Crear función de animación

Necesitamos crear una función animate que genere nuevos datos aleatorios y actualice las alturas de los rectángulos.

def animate(frame_number):
    ## simular la llegada de nuevos datos
    data = np.random.randn(1000)
    n, _ = np.histogram(data, HIST_BINS)
    for count, rect in zip(n, bar_container.patches):
        rect.set_height(count)
    return bar_container.patches

Crear el contenedor de barras y la animación

Utilizar plt.hist nos permite obtener una instancia de BarContainer, que es una colección de instancias de Rectangle. Utilizamos FuncAnimation para configurar la animación.

## Usar plt.hist nos permite obtener una instancia de BarContainer, que es una
## colección de instancias de Rectangle. Llamar a prepare_animation definirá
## la función animate que trabaja con el BarContainer suministrado. Todo esto se utiliza para configurar FuncAnimation.
fig, ax = plt.subplots()
_, _, bar_container = ax.hist(data, HIST_BINS, lw=1, ec="yellow", fc="green", alpha=0.5)
ax.set_ylim(top=55)  ## establece un límite seguro para asegurarse de que todos los datos sean visibles.

ani = animation.FuncAnimation(fig, animate, 50, repeat=False, blit=True)
plt.show()

Resumen

En este laboratorio, aprendiste cómo crear un histograma animado utilizando Matplotlib en Python. Comenzaste importando las bibliotecas necesarias, estableciendo la semilla aleatoria y los contenedores, creando datos y histograma, creando una función de animación y, finalmente, creando el contenedor de barras y la animación. Siguiendo estos pasos, puedes crear histogramas animados para visualizar datos de manera dinámica.