• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Simulador FIRE (Financial Independence, Retire Early)
    • Herramientas
      • Formateador / Minificador de JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Creación de gráficos animados con Python

mayo 4, 2020 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

Una de las herramientas más eficaces para la presentación de los resultados son los gráficos. Eficacia que se puede aumentar al animarlos. La creación de gráficos animados en Python es una tarea realmente sencilla gracias a MoviePy. Un módulo para la edición de video que se puede usar tanto para operaciones básicas, como para el procesamiento y la creación de efectos avanzados de video.

Instalación de MoviePy

MoviePy es una librería de Python que, como en la mayoría de los casos, se puede instalar a través de pip. Instalación que únicamente requiere escribir en la terminal el siguiente comando:

pip install moviepy

Creación de una serie de figuras

Antes de poder crear un gráfico animado es necesario crear varias figuras. Los fotogramas de la animación. Estos fotogramas se tienen que guardar como imágenes en una carpeta del ordenador, lo que en Matplotlib se puede conseguir con el método savefig. Ahora, a modo de ejemplo, se puede representar la función exponencial para el eje x con valores que van de 2 a 16, lo que son 15 fotogramas. Estos fotogramas se pueden conseguir con el siguiente código:

import numpy as np
import matplotlib.pyplot as plt

for i in range(2, 17):
    x = np.arange(1, i, .1)
    y = np.exp(x)
    plt.plot(x, y)
    plt.savefig("./figures/figure{0:03d}.png".format(i))
    plt.clf()

En este código se puede ver que se cada una de las figura con el método plot(). Una vez creada la figura se guarda cada una en un archivo con un número que indica el orden en el que se han creado. Posteriormente los fotogramas se van a ordenar alfabéticamente con el nombre del archivo, por lo que, para evitar que el 16 aparezca antes del 2, se completan los números con cero hasta tres dígitos. Obviamente en animaciones con más fotogramas se puede agregar más cero para evitar el problema.

Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
En Analytics Lane
Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane

Publicidad


Creación final del video

Una vez se ha creado los fotogramas solamente es necesario obtener una lista con los archivos que se deben incluir en la animación. El listado de los archivos se puede obtener con glob. Para asegurar que los archivos estén en el orden correcto, se puede utilizar la función sort, el cual ordenara los archivos alfabéticamente.

import glob

file_list = sorted(glob.glob('./figures/*.png'))

Tras la obtención de la lista se puede proceder a creación el video. Para lo que se puede importar MoviePy como mpy y se puede usar el método ImageSequenceClip. Un método que tiene dos parámetros importantes el listado de archivos y el número de fotogramas por segundo. En nuestro caso, para crear un video de 5 con 15 fotogramas se va a indicar que el video tenga velocidad de 3 fotogramas por segundo.

import moviepy.editor as mpy

fps = 3
clip = mpy.ImageSequenceClip(file_list, fps=fps)
clip.write_gif('movie.gif')

Finalmente hay que exportar el archivo. Para usarlo en la web una opción puede ser un archivo gif que se puede conseguir mediante el método write_gif(). Generando una animación como la que se muestra a continuación.

Gráfico animado generado con MoviePy
Gráfico animado generado con MoviePy

Conclusiones

En esta entrada se ha visto como se puede usar MoviePy para la creación de gráficos animados con Python. Las animaciones son un recurso para presentar los resultados con el que se puede conseguir impacto mayor que con las imágenes estáticas, ya que se puede mostrar la evolución de los datos.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 5 / 5. Votos emitidos: 3

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
  • Nueva calculadora de préstamos e hipotecas en el laboratorio de aplicaciones de Analytics Lane
  • Hardening avanzado de NGINX: CSP, OCSP Stapling y defensa en profundidad
  • Nuevo generador y verificador de hashes en el laboratorio de aplicaciones de Analytics Lane
  • Nueva simulación de la estrategia Martingala en ruleta en el laboratorio de aplicaciones de Analytics Lane
  • Exactitud, precisión, recall… y los errores que cometemos al interpretarlas en proyectos reales
  • Nuevo simulador del problema de Monty Hall en el laboratorio de aplicaciones de Analytics Lane
  • Nuevo simulador interactivo de K-Means en el laboratorio de aplicaciones de Analytics Lane
  • Por qué los chatbots de inteligencia artificial parecen estar siempre de acuerdo contigo – Conversar con una inteligencia artificial – Parte I

Publicado en: Python Etiquetado como: Matplotlib

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Nueva herramienta: Comparador y Formateador de Texto y JSON en el laboratorio de Analytics Lane

abril 21, 2026 Por Daniel Rodríguez

Chatbots vs redes sociales: la diferencia clave entre la inteligencia artificial y los algoritmos de recomendación – Conversar con una inteligencia artificial – Parte II

abril 21, 2026 Por Daniel Rodríguez

Nueva Calculadora de Estadísticos Descriptivos en el laboratorio de aplicaciones de Analytics Lane

abril 20, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Buscar en Excel con dos o más criterios publicado el septiembre 7, 2022 | en Herramientas
  • Gráfica con los datos y las anomalías detectadas con OneClass SVM One-Class SVM: Detección de anomalías con máquinas de vector soporte publicado el marzo 15, 2024 | en Ciencia de datos
  • Método del codo (Elbow method) para seleccionar el número óptimo de clústeres en K-means publicado el junio 9, 2023 | en Ciencia de datos
  • Gráficos de barras en Matplotlib publicado el julio 5, 2022 | en Python
  • La similitud de Jaro–Winkler publicado el junio 24, 2020 | en Ciencia de datos, R

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.9 (11)

Pandas: Cambiar los tipos de datos en los DataFrames

Comentarios recientes

  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto