Здравствуйте, коллеги по JavaScripters, меня зовут Норберт Ронаи, и я хочу поделиться с вами своим опытом работы с D3.js, библиотекой JS (да, еще одной библиотекой JavaScript).

Я студент Университета математики и компьютерных наук Babes Bolyai в Клуж-Напока и разработчик JavaScript в компании Evozon System.

Но хватит обо мне, давайте начнем.

Что такое D3.js?

D3.js означает документы, управляемые данными. Впервые он был выпущен 6 лет назад (версия 2.0.0), но в этом году, 24 марта, была выпущена стабильная версия (4.8.0).

Это отличный инструмент для создания динамического и интерактивного визуального представления даты в веб-браузерах. Я рекомендую его всякий раз, когда вы чувствуете потребность в создании быстрых и причудливых элементов. Это также помогает вам переносить данные в DOM (объектную модель документа), используя только HTML, SVG и CSS. Это действительно быстро, он поддерживает большие наборы данных и динамическое поведение для взаимодействия и анимации, позволяя повторно использовать код для разнообразного набора плагинов и компонентов.

Настройка очень проста:

1) Скачайте последнюю версию;

2) Воспользуйтесь библиотекой:

<script src=”d3.js”></script>

Почему я использую D3.js?

Вы, наверное, устали читать об еще одной новой библиотеке JavaScript, вероятно, каждый день появляется новая. Так почему я использую D3.js и беспокою вас этой статьей?

Ну, как я уже сказал, я все еще студент, и, как и любой другой новичок, у меня есть домашние задания / проекты из моего университета и задачи, которые мне нужно выполнить на работе, поэтому мое расписание довольно плотно. Мне нужно было что-то простое и быстрое, что помогло бы мне создавать интерактивные элементы для моих школьных проектов, а также для работы.

Одной из моих задач было создать компоненты диаграммы, чтобы показать некоторые изменения температуры за определенный период времени. Я воспользовался возможностями, которые дает эта библиотека, поэтому начал ее использовать, и, черт возьми, она мне очень помогла. Чтобы показать вам пример, я возьму простой элемент диаграммы, чтобы показать вам различия в использовании D3.js:

Кодирование диаграммы вручную

<style>
.chart div {
font: 10px sans-serif;
text-align: right;
background-color: red;
color: white;
padding: 4px;
margin: 2px;
}
</style>
<div class=”chart”>
<div style=”width: 50px;”>15</div>
<div style=”width: 160px;”>16</div>
<div style=”width: 80px;”>8</div>
<div style=”width: 100px;”>10</div>
<div style=”width: 30px;”>3</div>
<div style=”width: 350px;”>35</div>
</div>

Как видите, это не очень практично, потому что позже, если вам нужно что-то изменить, вам придется перезаписать новые элементы или удалить их, а мы все знаем, что программирование работает не так. Или, по крайней мере, так работать не должно.

Кодирование диаграммы способом D3.js

<style>
.chart div {
font: 10px sans-serif;
text-align: right;
background-color: #00cc66;
color: white;
padding: 20px;
margin: 5px;
}
</style>
<div class=”chart”></div>
<script src=”d3.js”></script>
<script>
var data = [8, 16, 18, 20, 18, 35, 22, 25, 27];
var x = d3.scaleLinear()
.domain([0, d3.max(data)])
.range([0, 420]);
d3.select(“.chart”)
.selectAll(“div”)
.data(data)
.enter().append(“div”)
.style(“width”, function(d) { return x(d) + “px”; }) .text(function(d) { return d; });
</script>

Даже если это кажется более сложным и трудным для понимания, на самом деле это не так. Если вы присмотритесь, то увидите, что select («. Chart») и .selectAll («div») просто выбрать элементы, которые вы хотите обновить, .data (data) просто связывает значения данных для каждого элемента div; .enter (). append («div») в случае, если тегов div недостаточно, они будут созданы для вас, и все они будут иметь следующие свойства .style («ширина», функция (d) {return x (d) + «px»;}) и .text (function (d) {return d;}); где d - переменная из данных.

Также var x = d3. scaleLinear () .domain ([0, d3.max (data)]). Range ([0, 420]); - отображение пространства данных (домена), отображающего пространство (диапазон).

Вот результат:

D3.js, еще одна библиотека JavaScript, которую стоит изучить?

Как младший разработчик я знаю, насколько ошеломляющим может быть рассмотрение обширной экосистемы, которую представляет JavaScript. Иногда хочется просто свернуться клубочком и поплакать. Но многие библиотеки очень полезны и могут значительно облегчить вашу жизнь и сэкономить много времени.

На этот раз мне помог D3.js, это не просто фреймворк, который стремится предоставить полезные функции. Он решает основные проблемы: эффективное манипулирование документами на основе данных, обеспечивающее большую гибкость, также позволяет избежать частного представления.

Я настоятельно рекомендую его, вы можете хотя бы ненадолго использовать его в эксперименте, не из-за простоты его использования, а в большей степени из-за его сложного способа манипулирования данными из DOM. Даже если он в значительной степени полагается на поставщиков браузеров, каждый раз, когда появляется новая функция, вы сможете сразу же ее использовать.