Pour qu'à chaque vue (arpès chaque clic), les sections centrales soient redéfinies selon la couleur de l'arc en ciel, et les couleurs périphériques d'un dégradé dans le même ton que leur section mère.
Pour l'instant, la couleur est définie par :
// Échelle de couleurs pour les segments du diagramme
const color = d3.scaleOrdinal(d3.quantize(d3.interpolateRainbow, data.children.length + 1));
//.......
// Tracé des segments du diagramme
const path = g.append("g")
.selectAll("path")
.data(root.descendants().slice(1))
.join("path")
.attr("fill", d => {
// Détermination de la couleur en remontant dans la hiérarchie
while (d.depth > 1) d = d.parent;
return color(d.data.name);
})
.attr("fill-opacity", d => arcVisible(d.current) ? (d.children ? 0.6 : 0.4) : 0)
.attr("pointer-events", d => arcVisible(d.current) ? "auto" : "none")
.attr("d", d => arc(d.current));
Pour qu'à chaque vue (arpès chaque clic), les sections centrales soient redéfinies selon la couleur de l'arc en ciel, et les couleurs périphériques d'un dégradé dans le même ton que leur section mère.
Pour l'instant, la couleur est définie par :