Data-Driven Documents (D3)
O que é D3?
Data-Driven Documents (D3) trata-se de uma biblioteca para visualização de dados, ou seja, não é um framework. Sua utilização concentra-se na criação de charts, permitindo a customização de charts e manipulação de elementos de uma página web.
Acesse a Galeria Observable para encontrar exemplos de charts criados a partir do D3.
Primeiros passos
Conhecimentos necessários
Para poder utilizar o D3, é necessário conhecimentos prévios de HTML, DOM, CSS. Também é necessário já possuir afinidade com a utilização de SVG e conhecimentos básicos de JavaScript.
Todos esses conhecimentos estão presentes no Treinamento JS nas páginas de: HTML, CSS e JavaScript.
note
A utilização do Scalable Vector Graphics (SVG), formato de imagem baseada em texto, não é requisito obrigatório, mas pode facilitar o manuseio de imagens.
Preparando o ambiente
Crie uma nova pasta no projeto que será utilizado D3;
Crie uma subpasta com o nome D3 - Faça o download da última atualização do D3 dentro desta pasta;
Crie um documento HTML "index.html" - O documento deverá ficar parecido com o código abaixo:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>D3 Test</title>
<script type="text/javascript" src="d3.v7.min.js"></script>
</head>
<body>
<script type="text/javascript">
// escreva aqui seu código d3
</script>
</body>
</html>Visualize a página HTML ou através de um servidor localhost
Componentes fundamentais
Seletores
select()
: Utilizado para apenas uma tag HTML. Caso a tag não exista, irá retornar um valor vazio. Se houver várias tags iguais, apenas o primeiro elemento será selecionado.selectAll()
: Utilizado para várias instâncias de uma tag HTML. Além disso, é possível utilizar "style" para modificar o estilo do elemento selecionado.
Métodos para manipular elementos DOM
text()
: Utilizado para adicionar ou modificar texto dentro de um elemento DOM.append()
: Utilizado para adicionar um novo elemento HTML no final de um elemento selecionado.remove()
: Utilizado para remover um elemento HTML.style()
: Utilizado para modificar o estilo do elemento DOM selecionado, sendo permitido mudar apenas um elemento por vez.attr()
: Utilizado para adicionar um documento style sheet CSS ao elemento, facilitando o processo de estilização.
Método Chaining
- Trata-se de uma técnica que permite a utilização de vários métodos juntos. Além disso, é possível escrever este método utilizando linhas separadas:
Data Joins
Permite fazer uma junção entre os elementos selecionados. Criar vínculos entre elementos é muito importante para visualização de dados.
datum()
: Utilizado para fazer uma junção de dados com apenas um seletor D3.data()
: Utilizado para fazer diversas junções de dados com uma série de seletores D3.enter()
: Utilizado para unir elementos quando há mais elementos selecionados do que elementos na variável.
tip
Acesse o tutorial do website AlignedLeft
::caution
A versão D3 do tutorial é a 3.x., ou seja, está desatualizada. Mas, o tutorial ainda pode servir como um bom apoio de estudo.
:::