~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 963D1B7A15D8755D8CEB1A804E5678A1__1714999020 ✰
Заголовок документа оригинал.:
✰ D3.js - Wikipedia ✰
Заголовок документа перевод.:
✰ D3.js — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/D3.js ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/96/a1/963d1b7a15d8755d8ceb1a804e5678a1.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/96/a1/963d1b7a15d8755d8ceb1a804e5678a1__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 23:18:30 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 6 May 2024, at 15:37 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

D3.js — Википедия Jump to content

D3.js

Из Википедии, бесплатной энциклопедии

Разработчики) Майк Босток , Джейсон Дэвис, Джеффри Хир , Вадим Огиевецкий и сообщество
Начальная версия 18 февраля 2011 г .; 13 лет назад ( 18 февраля 2011 )
Стабильная версия
7.9.0 [1] Отредактируйте это в Викиданных/ 12 марта 2024 г .; 3 месяца назад ( 12 марта 2024 г. )
Репозиторий
Написано в JavaScript
Тип Визуализация данных , библиотека JavaScript
Лицензия БСД
Веб-сайт d3js .org

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

Контекст [ править ]

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

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

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

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

Технические принципы [ править ]

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

Выборы [ править ]

Центральный принцип дизайна D3.js заключается в том, чтобы позволить программисту сначала использовать селектор в стиле CSS для выбора заданного набора узлов объектной модели документа (DOM), а затем использовать операторы для управления ими аналогично jQuery . [8] Например, можно выбрать все элементы абзаца HTML (представленные <p>...</p>), а затем измените цвет текста, например, на лавандовый:

 д3  .   selectAll  (  "p"  )                   // выбираем все элементы <p> 
    .   style  (  "color"  ,   "lavender"  )       // устанавливаем для стиля "color" значение "lavender" 
    .   attr  (  "class"  ,   "squares"  )         // устанавливаем атрибуту "class" значение "squares" 
    .   атрибут  (  «х»  ,   50  );                    // устанавливаем атрибут "x" (горизонтальное положение) на значение 50 пикселей 

Выбор может быть основан на HTML-теге, классе, идентификаторе, атрибуте или месте в иерархии. После того как элементы выбраны, к ним можно применять операции. Сюда входит получение и установка атрибутов, отображаемых текстов и стилей (как в приведенном выше примере). Элементы также можно добавлять и удалять. Этот процесс изменения, создания и удаления элементов HTML можно сделать зависимым от данных, что является базовой концепцией D3.js.

Переходы [ править ]

Объявив переход, значения атрибутов и стилей можно плавно интерполировать в течение определенного времени. Следующий код сделает весь HTML <p>...</p> элементы на странице постепенно меняют цвет текста на розовый:

 д3  .   selectAll  (  "p"  )               // выбираем все элементы <p> 
    .   переход  (  "trans_1"  )        // переход с именем "trans_1" 
      .   задержка  (  0  )                   // переход начинается через 0 мс после триггера 
      .   длительность  (  500  )              // переход на 500 мс 
      .   легкость  (  d3  .easileLinear  // прогресс замедления перехода  )             линейный... 
    .   стиль  (  «цвет»  ,   «розовый»  );       // ... цвет: розовый 

Привязка данных [ править ]

Для более продвинутого использования загруженные данные управляют созданием элементов. D3.js загружает заданный набор данных, затем для каждого из его элементов создает объект SVG со связанными свойствами (форма, цвета, значения) и поведением (переходы, события). [9] [10] [11]

// Данные 
   varcountriesData   " черный   =   [ 
      {   имя  :   "Ирландия"  ,   доход  :   53000  ,   жизнь  :   78  ,   население  :   6378  ,   цвет  :   "   }, 
      {   имя  :   "Норвегия"  ,   доход  :   73000  ,   жизнь  :   87  ,   население  :   5084  ,   цвет  :   «синий»   }, 
      {   имя  :   «Танзания»  ,   доход  :   27000  ,   жизнь  :   50  ,   население  :   3407  ,   цвет  :   «серый»   } 
   ]; 
  // Создаём SVG-контейнер 
   var   svg   =   d3  .   выберите  (  «#крючок»  ).   добавить  (  «SVG»  ) 
         .   attr  (  "ширина"  ,   120  ) 
         .   attr  (  "высота"  ,   120  ) 
         .   стиль  (  «цвет фона»  ,   «#D0D0D0»  ); 
  // Создаём элементы SVG из данных 
     svg  .   selectAll  (  "circle"  )                    // создаем шаблон виртуального круга 
       .   data  (  countriesData  )                     // привязываем данные 
        .   join  (  "circle"  )                                   // объединяет данные в выделение и создает круговые элементы для каждого отдельного данных 
         .   attr  (  "id"  ,   function  (  d  )   {   return   d  .  name   })              // устанавливаем идентификатор круга в соответствии с названием страны 
         .   attr  (  "cx"  ,   function  (  d  )   {   return   d  .  Income   /   1000    })    // устанавливаем горизонтальное положение круга в соответствии с доходом 
         .   attr  (  "cy"  ,   function  (  d  )   {   return   d  .  life   })              // устанавливаем вертикальное положение круга в соответствии с ожидаемой продолжительностью жизни 
         .   attr  (  "r"  ,    function  (  d  )   {   return   d  .  pop   /   1000   *  2   })     // устанавливаем радиус круга в соответствии с населением страны 
         .   attr  (  "fill"  function   (  d  )  {   return   d.color   }  )  ,   ;         // устанавливаем цвет круга в соответствии с цветом страны 

Сгенерированная графика SVG разрабатывается в соответствии с предоставленными данными.

Добавление узлов с использованием данных [ править ]

После привязки набора данных к документу использование D3.js обычно следует шаблону, в котором явное .enter() функция, неявное «обновление» и явное .exit()Функция вызывается для каждого элемента в связанном наборе данных. Любые методы, связанные после .enter() команда будет вызываться для каждого элемента набора данных, который еще не представлен узлом DOM в выборке (предыдущий selectAll()). Аналогично, неявная функция обновления вызывается для всех существующих выбранных узлов, для которых есть соответствующий элемент в наборе данных, и .exit()вызывается для всех существующих выбранных узлов, у которых нет элемента в наборе данных для привязки к ним. В документации D3.js приведено несколько примеров того, как это работает. [12]

См. также [ править ]

Ссылки [ править ]

  1. ^ «Выпуск 7.9.0» . 12 марта 2024 г. Проверено 22 марта 2024 г.
  2. ^ «Для пользователей Protovis» , Mbostock.github.com , заархивировано из оригинала 6 августа 2012 г. , получено 18 августа 2012 г.
  3. ^ Мятт, Гленн Дж.; Джонсон, Уэйн П. (сентябрь 2011 г.), «5.10 Дополнительная литература» , « Осмысление данных III: Практическое руководство по проектированию интерактивных визуализаций данных» , Хобокен, Нью-Джерси: John Wiley & Sons , стр. А–2, ISBN  978-0-470-53649-0 , получено 23 января 2013 г.
  4. ^ «Примечания к выпуску» , D3.js , получено 22 августа 2012 г.
  5. ^ «Релиз v4.0.0 · d3/d3» . Гитхаб . 28 июня 2016 г. Проверено 27 декабря 2021 г.
  6. ^ Академический пример: Савва, Манолис; Конг, Николас; Чхайта, Арти; Ли, Фейфей; Агравала, Маниш; Хир, Джеффри (2011), «ReVision: автоматизированная классификация, анализ и редизайн изображений диаграмм» , Программное обеспечение и технологии пользовательского интерфейса ACM , получено 23 января 2013 г.
  7. ^ Босток, Огиевецкий и Хир, 2011 г.
  8. ^ Босток, Огиевецкий и Хир 2011 , гл. 3
  9. ^ Босток, Майк (5 февраля 2012 г.), Думая с объединениями
  10. ^ «Ручка Лопеса Хьюго» . Codepen.io . Архивировано из оригинала 22 марта 2016 года . Проверено 1 августа 2016 г.
  11. ^ «Редактировать скрипку» . JSFiddle.net . Проверено 1 августа 2016 г.
  12. ^ «Три маленьких круга» . Mbostock.github.io . Проверено 1 августа 2016 г.

Дальнейшее чтение [ править ]

Общая информация о самом D3.js
Использование D3.js — начальный уровень
Использование D3.js — средний уровень
Другие
Видео

Связанные проекты [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 963D1B7A15D8755D8CEB1A804E5678A1__1714999020
URL1:https://en.wikipedia.org/wiki/D3.js
Заголовок, (Title) документа по адресу, URL1:
D3.js - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)