D3.js


D3.js (также известный как D3 , сокращение от Data-Driven Documents ) — это библиотека JavaScript для создания динамических интерактивных визуализаций данных в веб-браузерах . Он использует стандарты масштабируемой векторной графики (SVG), HTML5 и каскадных таблиц стилей (CSS). Это преемник более ранней структуры Protovis. [2] Его разработка была отмечена в 2011 году, [3] поскольку в августе 2011 года была выпущена версия 2.0.0. [4]С выпуском версии 4.0.0 в июне 2016 года D3 была преобразована из единой библиотеки в набор небольших модульных библиотек, которые можно использовать независимо. [5]

Ранее предпринимались различные попытки реализовать визуализацию данных в веб-браузерах. Наиболее яркими примерами были наборы инструментов Prefuse, Flare и Protovis, которые можно считать прямыми предшественниками D3.js.

Prefuse был набором инструментов для визуализации, созданным в 2005 году, для которого требовалось использование Java , а визуализации выполнялись в браузерах с подключаемым модулем Java. Flare был похожим набором инструментов 2007 года, в котором использовался ActionScript , и для рендеринга требовался подключаемый модуль Flash.

В 2009 году, основываясь на опыте разработки и использования Prefuse и Flare, Джеффри Хир , Майк Босток и Вадим Огиевецкий из Stanford Visualization Group Стэнфордского университета создали Protovis, библиотеку JavaScript для создания SVG-графики из данных. Библиотека была известна специалистам по визуализации данных и ученым. [6]

В 2011 году разработка Protovis была остановлена, чтобы сосредоточиться на новом проекте D3.js. Основываясь на опыте работы с Protovis, Босток вместе с Хиром и Огиевецким разработал D3.js, чтобы обеспечить более выразительную структуру, которая в то же время ориентирована на веб-стандарты и обеспечивает улучшенную производительность. [7]

Библиотека D3.js использует предварительно созданные функции для выбора элементов, создания объектов SVG, их стиля или добавления переходов, динамических эффектов или всплывающих подсказок . Этим объектам также можно придать стиль с помощью CSS. Большие наборы данных можно привязывать к объектам SVG с помощью функций D3.js для создания текстовых/графических диаграмм и диаграмм. Данные могут быть в различных форматах, таких как JSON , значения, разделенные запятыми (CSV) или geoJSON , но при необходимости можно написать функции JavaScript для чтения других форматов данных.