D3.js


D3.js (también conocido como D3 , abreviatura de Data-Driven Documents ) es una biblioteca de JavaScript para producir visualizaciones de datos dinámicas e interactivas en navegadores web . Hace uso de los estándares Scalable Vector Graphics (SVG), HTML5 y Cascading Style Sheets (CSS). Es el sucesor del marco anterior de Protovis. [2] Su desarrollo se observó en 2011, [3] cuando se lanzó la versión 2.0.0 en agosto de 2011. [4]Con el lanzamiento de la versión 4.0.0 en junio de 2016, D3 pasó de ser una sola biblioteca a una colección de bibliotecas modulares más pequeñas que se pueden usar de forma independiente. [5]

Ha habido varios intentos anteriores de llevar la visualización de datos a los navegadores web. Los ejemplos más notables fueron los kits de herramientas Prefuse, Flare y Protovis, que pueden considerarse predecesores directos de D3.js.

Prefuse era un conjunto de herramientas de visualización creado en 2005 que requería el uso de Java , y las visualizaciones se representaban en navegadores con un complemento de Java. Flare era un conjunto de herramientas similar de 2007 que usaba ActionScript y requería un complemento de Flash para renderizar.

En 2009, basándose en la experiencia de desarrollar y utilizar Prefuse y Flare, Jeffrey Heer , Mike Bostock y Vadim Ogievetsky del Stanford Visualization Group de la Universidad de Stanford crearon Protovis, una biblioteca de JavaScript para generar gráficos SVG a partir de datos. La biblioteca era conocida por los profesionales y académicos de visualización de datos. [6]

En 2011 se detuvo el desarrollo de Protovis para centrarse en un nuevo proyecto, D3.js. Informado por las experiencias con Protovis, Bostock, junto con Heer y Ogievetsky, desarrollaron D3.js para brindar un marco más expresivo que, al mismo tiempo, se enfoca en los estándares web y brinda un rendimiento mejorado. [7]

La biblioteca D3.js utiliza funciones prediseñadas para seleccionar elementos, crear objetos SVG, diseñarlos o agregarles transiciones, efectos dinámicos o información sobre herramientas . Estos objetos también se pueden diseñar con CSS. Los conjuntos de datos grandes se pueden vincular a objetos SVG mediante las funciones de D3.js para generar gráficos y diagramas de texto/gráficos. Los datos pueden estar en varios formatos, como JSON , valores separados por comas (CSV) o geoJSON , pero, si es necesario, las funciones de JavaScript se pueden escribir para leer otros formatos de datos.