Full-Stack y UI/UX · Bases de datos e ingeniería de datos
Visualización de datos animada (gráficos de carrera en D3.js)
Por David Gadyan · Publicado el · Actualizado el · Cliente: Alen Kojadinovic
Visualización animada bar chart race e informes de principio a fin: ETL con pandas y SQLAlchemy desde las bases de datos relacionales del cliente, un prototipo en Plotly Dash, una reconstrucción en D3.js con animación JavaScript a medida para ganar fluidez y control de estilo, y un pipeline de exportación con FFmpeg a vídeo compartible y componentes web integrables.
El problema
El cliente necesitaba una animación dinámica de tipo gráfico de carrera e informes completos, construidos sobre datos que vivían en sus propias bases de datos relacionales. El gráfico tenía que ser de alta fidelidad: movimiento fluido, estilo preciso y una salida que pudiera compartirse como vídeo o integrarse en la web. Esa mezcla de trabajo de datos en Python, acceso a bases de datos y animación en el frontend es para lo que se contrató el proyecto.
Qué construí
- Un pipeline de datos en Python con pandas y SQLAlchemy que extrae, transforma y carga los conjuntos de datos específicos del dominio desde las bases de datos del cliente.
- Un primer prototipo del gráfico de carrera en Plotly Dash, usado para medir rendimiento y calidad visual.
- El gráfico de carrera definitivo en D3.js con animación JavaScript a medida, cuando el prototipo en Dash no logró la fluidez ni el control de estilo requeridos; D3 dio mejores tasas de fotogramas y fidelidad total al diseño.
- Un flujo de exportación de vídeo con FFmpeg y scripts en Python que convierte la animación en D3 en formatos de vídeo compartibles y componentes web integrables.
- Informes cuidados que combinan gráficos estáticos y secuencias animadas, con documentación de la cadena de herramientas y código reproducible.
Datos e infraestructura
La animación se apoya en una capa ETL de verdad y no en un fichero preparado a mano. SQLAlchemy se conecta a las bases de datos relacionales del cliente, pandas se encarga de la transformación y los conjuntos resultantes alimentan tanto los gráficos de los informes como los fotogramas del gráfico de carrera.
Resultado
Un gráfico de carrera que se mueve con la fluidez y el estilo que pedía el cliente, exportado como vídeo y como componentes integrables, junto con informes cuya cadena de herramientas está documentada y es reproducible. La propia decisión sobre las herramientas, prototipar en Dash y pasar a D3.js cuando se quedó corto, formó parte de lo entregado.
Proyectos relacionados
Dashboard de KPI de marketing (Meta, Google Ads, Stripe, GA)
Marketing con IA y analítica · Full-Stack y UI/UX · Bases de datos e ingeniería de datos
HubAIOps: auditoría de preparación para IA en HubSpot con Claude
IA y agentes · ERP y SaaS con IA · Full-Stack y UI/UX
Receptra: SaaS de recepcionista de voz con IA para pymes
IA y agentes · ERP y SaaS con IA · Full-Stack y UI/UX