
Data Visualization with D3 and AngularJS
Christoph Korner
- Editorial
- Packt
- Año
- 2015
- Páginas
- ~278
- Nivel
- Intermedio
De qué trata
Libro de Packt, firmado por Christoph Körner junto con Erik Hanchett, que enseña a combinar D3.js con AngularJS (la rama 1.x del framework) para crear visualizaciones de datos interactivas, reutilizables y fáciles de mantener. Al ser de 2015 trabaja con D3 v3. Está pensado para desarrolladores web de nivel intermedio que ya conocen AngularJS y JavaScript y quieren aprender a integrar gráficos dinámicos en sus aplicaciones, aunque no tengan experiencia previa con D3.
El recorrido empieza con los fundamentos: SVG como base del dibujo vectorial en el navegador, el papel de D3.js y por qué tiene sentido envolverlo en AngularJS. Después se tratan las selecciones y el enlace de datos de D3, la manipulación de datos, las escalas y los ejes, y la construcción de una directiva de gráfico (empezando por un diagrama de dispersión) para encapsular la visualización como componente reutilizable. Los capítulos siguientes explican cómo cargar y analizar datos tanto con las peticiones XHR de D3 como con el servicio $http de AngularJS, cómo dibujar curvas y formas (gráficos de líneas, barras y áreas), cómo controlar transiciones y animaciones personalizadas, y cómo dar vida al gráfico con interacciones del usuario.
Todo converge en un panel que monitoriza registros (logs) de un servidor y los visualiza en tiempo real, que sirve como caso práctico integrador. Su aporte principal es mostrar cómo separar la lógica de la visualización en directivas de AngularJS en lugar de mezclar código de D3 en los controladores. Hay que tener en cuenta que tanto AngularJS 1.x (ya sin soporte) como D3 v3 están desactualizados: los conceptos de D3 siguen siendo válidos, pero la API cambió de forma notable en D3 v4 y posteriores, y quien trabaje con Angular moderno tendrá que adaptar el patrón de directivas a componentes.
- D3.js v3
- AngularJS 1.x
- SVG
- Directivas
- Escalas y ejes
- Carga de datos ($http, XHR)
- Gráficos de líneas, barras y áreas
- Transiciones y animaciones
- Interactividad
- Dashboards en tiempo real
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Directiva de gráfico de dispersión
Componente reutilizable de AngularJS que encapsula un scatter chart hecho con D3.js, con escalas, ejes y enlace de datos, y que sirve de base para el resto de gráficos del libro.
Visualización en tiempo real de logs del servidor
Panel (dashboard) que recibe y visualiza registros de un servidor en tiempo real, combinando directivas de AngularJS con gráficos, transiciones e interacciones de D3.js.

