Laurent Jégou, Master 2 Sigma - UT2J-ENSAT
Ce site est un tutoriel d'introduction à la bibliothèque de fonctions D3, qui permet de réaliser des représentations graphiques vectorielles interactives dans une page web. Il s'agit de la version de décembre 2017, réécrite pour D3 version 4.
Inspiré du workshop interactif de Victor Powell
Les sections en fond noir sur cette page sont des éditeurs de texte interactifs, leur interprétation est proposée automatiquement sur la partie droite. Vous pouvez donc modifier le code HTML/SVG/JS/CSS et voir le résultat immédiatement !
Un bac à sable" interactif" de plus grande taille est aussi disponible.
Les techniques de représentation interactive des données, ou data visualization (dataviz) connaissent depuis quelques année un fort développement sur le support Internet, grâce aux fonctionnalités nouvelles apportées par le standard HTML5 et la manipulation d'objets vectoriels au format SVG. Des bibliothèques de fonctions JavaScript permettent de rendre accessible la création de ce type de graphismes interactifs sur Internet, en simplifiant la manipulation des objets graphiques et des données.
Cette page est interactive !
Positionnement
Bibliographie :
Sites Internet :
Les bases
Le Document Object Model (DOM)
Le format SVG : des images vectorielles
<rect> Rectangle
Documentation MDN :
<rect>
D3 permet de modifier un arbre DOM créé en SVG.
Nous pouvons maintenant changer les styles SVG par la programmation.
Idem avec les attributs SVG
Les paramètres peuvent être définis par une fonction plutôt que par une constante.
Une nouvelle méthode pour ajouter des éléments.
Documentation: selector.enter()
Documentation: transitions
Documentation: d3.range()
Les données sont dans une structure de données JSON
Les données cartographiques proviennent d'un fichier TopoJSON.
Les données cartographiques proviennent d'un fichier TopoJSON.
Les données cartographiques et statistiques proviennent d'un fichier TopoJSON.
Pour aller plus loin, consultez la liste de sites proposée, surtout les exemples commentés (blocks).