En aquesta secció, aprendrem a crear la nostra primera visualització amb D3.js. Ens centrarem en els conceptes bàsics per començar a treballar amb aquesta potent llibreria de visualització de dades.
- Configuració Inicial
1.1. Incloent D3.js en el teu Projecte
Per començar a utilitzar D3.js, primer hem d'incloure la llibreria en el nostre projecte. Hi ha diverses maneres de fer-ho:
- CDN (Content Delivery Network): Pots incloure D3.js directament des d'un CDN com segueix:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Primers Passos amb D3.js</title>
<script src="https://d3js.org/d3.v7.min.js"></script>
</head>
<body>
<!-- El teu contingut aquí -->
</body>
</html>- Descarregant la llibreria: Pots descarregar D3.js des del lloc oficial i incloure'l localment en el teu projecte.
1.2. Estructura Bàsica del Document HTML
Per a la nostra primera visualització, necessitarem una estructura HTML bàsica:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Primers Passos amb D3.js</title>
<script src="https://d3js.org/d3.v7.min.js"></script>
</head>
<body>
<h1>Primera Visualització amb D3.js</h1>
<svg width="600" height="400"></svg>
<script src="script.js"></script>
</body>
</html>En aquest exemple, hem creat un element <svg> on dibuixarem la nostra visualització. També hem inclòs un fitxer script.js on escriurem el nostre codi D3.js.
- Creant la Primera Visualització
2.1. Seleccionant l'Element SVG
El primer pas és seleccionar l'element <svg> utilitzant D3.js:
2.2. Afegint un Cercle
Afegirem un cercle a l'element <svg> per veure com funciona D3.js:
// script.js
const svg = d3.select("svg");
svg.append("circle")
.attr("cx", 300) // Coordenada x del centre del cercle
.attr("cy", 200) // Coordenada y del centre del cercle
.attr("r", 50) // Radi del cercle
.attr("fill", "blue"); // Color de farciment del cercle2.3. Explicació del Codi
d3.select("svg"): Selecciona l'element<svg>del document.svg.append("circle"): Afegeix un nou element<circle>dins de l'element<svg>..attr("cx", 300): Estableix l'atributcxdel cercle, que és la coordenada x del centre del cercle..attr("cy", 200): Estableix l'atributcydel cercle, que és la coordenada y del centre del cercle..attr("r", 50): Estableix l'atributrdel cercle, que és el radi del cercle..attr("fill", "blue"): Estableix l'atributfilldel cercle, que és el color de farciment.
- Exercici Pràctic
3.1. Objectiu
Crea una visualització que contingui un rectangle i un text dins de l'element <svg>.
3.2. Instruccions
- Selecciona l'element
<svg>. - Afegeix un rectangle amb les següents propietats:
- Coordenada x: 100
- Coordenada y: 100
- Amplada: 200
- Alçada: 100
- Color de farciment: verd
- Afegeix un text amb les següents propietats:
- Coordenada x: 200
- Coordenada y: 150
- Contingut del text: "Hola, D3.js!"
- Color del text: negre
- Mida de la font: 20px
3.3. Solució
// script.js
const svg = d3.select("svg");
svg.append("rect")
.attr("x", 100)
.attr("y", 100)
.attr("width", 200)
.attr("height", 100)
.attr("fill", "green");
svg.append("text")
.attr("x", 200)
.attr("y", 150)
.attr("text-anchor", "middle")
.attr("fill", "black")
.attr("font-size", "20px")
.text("Hola, D3.js!");
- Conclusió
En aquesta secció, hem après a configurar un projecte bàsic amb D3.js i a crear la nostra primera visualització afegint elements SVG com cercles, rectangles i text. Aquests són els fonaments per començar a treballar amb D3.js i crear visualitzacions més complexes.
En la següent secció, explorarem com treballar amb seleccions en D3.js per manipular elements DOM de manera més eficient.
D3.js: De Principiant a Avançat
Mòdul 1: Introducció a D3.js
Mòdul 2: Treballant amb Seleccions
Mòdul 3: Dades i Escales
- Carregant i Analitzant Dades
- Utilitzant Escales de D3
- Escales Lineals i Ordinals
- Escales de Temps i Logarítmiques
Mòdul 4: Creant Visualitzacions Bàsiques
- Creant Gràfics de Barres
- Creant Gràfics de Línies
- Creant Gràfics de Pastís
- Creant Gràfics de Dispersió
Mòdul 5: Visualitzacions Avançades
- Creant Disposicions Jeràrquiques
- Creant Disposicions de Força
- Creant Mapes Geo
- Creant Visualitzacions Personalitzades
Mòdul 6: Interactivitat i Animació
Mòdul 7: Treballant amb Dades Reals
- Recuperant Dades d'APIs
- Neteja i Transformació de Dades
- Integració amb Altres Llibreries
- Estudis de Cas i Exemples
Mòdul 8: Rendiment i Optimització
- Optimitzant el Rendiment de D3.js
- Gestionant Grans Conjunts de Dades
- Enllaç de Dades Eficient
- Depuració i Resolució de Problemes
Mòdul 9: Millors Pràctiques i Tècniques Avançades
- Organització del Codi i Modularitat
- Components Reutilitzables
- Patrons Avançats de D3.js
- Contribuint a la Comunitat de D3.js
