Lien vers la librairie
- Librairie très complète avec beaucoup d’exemples à disposition
 - Personnalisation totale possible
 - Accès à des primitives 
SVGpermettant toute innovation - Peu accessible directement et assez technique
 
Lien vers la librairie
SVG permettant toute innovationIdée principale :
Plusieurs concepts à comprendre :
select()) et de l’ensemble des éléments (selectAll()) correspondant à la définition passée en paramètre (sélecteur idem que pour le CSS) :d3.select("selecteur");
d3.selectAll("selecteur");
size()) permettant de connaître la taille de la sélectionempty()) permettant de savoir si la sélection est videstyle() ou html()). Le code suivant permet de mettre le texte en rouge pour tout le corps de la pagevar corps = d3.select("body");
corps.style("color", "red");
append()) ou au début (insert()) d’un élément père, qui s’utilisent comme suit :selection.append("balise");
selection.insert("balise");
See the Pen d3.js : base de la librairie by FX Jollois (@fxjollois) on CodePen.
data() sur une sélection, il est possible de lier les données passées en paramètres (ce doit être un tableau) au DOM à la sélection en question. Le code suivant affecte chaque élément du tableau à chaque élément renvoyé par le sélecteur précédentvar selection = d3.selectAll("selecteur");
selection.data(tableau);
data(), il existe deux fonctions utiles
enter() : pour gérer les éléments du tableau en plusexit() : pour gérer les éléments de la sélection en plusvar selection = d3.selectAll("selecteur");
selection.data(tableau);
selection.html(function(d, i) {
    return "position = " + i + ", valeur = " + d;
})
See the Pen d3.js by FX Jollois (@fxjollois) on CodePen.
enter()See the Pen d3.js by FX Jollois (@fxjollois) on CodePen.
exit()See the Pen d3.js by FX Jollois (@fxjollois) on CodePen.
See the Pen d3.js by FX Jollois (@fxjollois) on CodePen.