¿Qué es D3?
Sí, D3 es una biblioteca de JavaScript, pero no es una biblioteca de gráficos. No existen plantillas listas para usar para crear gráficos de barras, circulares o de líneas, por ejemplo. Para crear uno de estos gráficos, debe dibujar usted mismo todas las líneas, curvas y rectángulos utilizando estándares abiertos como SVG o HTML Canvas. Sin embargo, D3 se encargará de la mayor parte del trabajo. Usar SVG puro para dibujar un gráfico de barras no es sencillo; necesita escalar los valores de los datos para que encajen en el gráfico, luego calcular dónde colocar cada barra y, finalmente, establecer las coordenadas de cada rectángulo antes de dibujarlo. Con D3, a partir de un array de datos, puede renderizar todas las barras con media docena de comandos encadenados en una sola línea de código.
D3 es una biblioteca de visualización de datos. Existen generadores de diseño para gráficos circulares que calculan ángulos, los cuales puedes usar para dibujar arcos para las secciones. Existen funciones que toman una matriz de objetos planos y la convierten en una estructura de objetos jerárquicamente enlazada con coordenadas para cada nodo. Puedes usar esos datos para dibujar círculos en cada punto de coordenadas y dibujar líneas entre dos nodos, creando un árbol. Pero también puedes usar los datos de forma diferente, como prefieras. D3 no limita tu creatividad de ninguna manera. No te ata a un framework propietario. Todo se basa en estándares web abiertos.
D3 no es solo una biblioteca de visualización de datos. La visualización se proporciona mediante HTML, CSS o SVG. D3 se centra en los datos. En realidad, es una colección de herramientas JavaScript integradas para manipular las estructuras de datos necesarias para crear visualizaciones. El núcleo de la biblioteca es una API fluida que se utiliza para seleccionar y manipular el DOM. Reemplaza el DOM y bibliotecas como JQuery. Incluye el mecanismo basado en datos que da nombre a D3, lo que permite vincular datos arbitrarios a elementos del DOM y luego realizar transformaciones de estilos y atributos basadas en esos datos. Esta API también se utiliza para vincular y enviar eventos, y para generar transformaciones animadas.
D3 también incluye herramientas para cargar y analizar diferentes formatos de datos, como JSON y CSV, realizar manipulaciones generales de datos en objetos y matrices, generar secuencias de datos y números aleatorios, y realizar interpolaciones y ajustes de configuración regional. Las herramientas de visualización de datos incluyen generadores de diseño, escalas, generadores de ejes, proyecciones de mapas, generadores de formas, esquemas de color y otras herramientas que se aplican a nodos y datos del DOM previamente seleccionados.