.style(‘fill’,’red’) .air(‘cx’, 100) .air(‘cy’, 100); • Propriétés dynamiques circle .air(‘r’, d => Math.sqrt(d)) .air(‘cx’, (d, i) => i *100 +30) .air(‘cy’, 100); d3: des concepts simples et puissants, un style de programma8on Alain Roan d3js Toulouse 16/02/17 • selectAll() /data() – lien DOM/ data var data = [32,57,112,293]; var circles = d3.select('svg') .selectAll('circle') .data(data); • enter() – ajout de données circles .enter() .append(‘circle’) .air(‘cy’, 60) .air(‘cx’, , (d, i) => i *100 +30) .air(‘r’, d = > Math.sqrt(d)); • exit() – retrait de données circles .exit() .remove(); en javascript, un objet a des a=ributs accessibles par obj.a=r. Un a=ribut peut être une foncBon que l’on appelle obj.a=r(param) La grande élégance du concept est que le même code sert à créer, me=re à jour et faire disparaître (avec transiBons animées)