Je crée mon axe avec le texte suivant, mais la couleur des étiquettes ne change pas correctement; la couleur du texte reste noire. Quelqu'un sait-il pourquoi?
// create Axis
svg.selectAll(".axis")
.data(d3.range(angle.domain()[1]))
.enter().append("g")
.attr("class", "axis")
.attr("transform", function(d) { return "rotate(" + angle(d) * 180 / Math.PI + ")"; })
.call(d3.svg.axis()
.scale(radius.copy().range([-5, -outerRadius]))
.ticks(5)
.orient("left"))
.append("text")
.attr("y",
function (d) {
if (window.innerWidth < 455){
return -(window.innerHeight * .33);
}
else{
return -(window.innerHeight * .33);
}
})
.attr("dy", ".71em")
.attr("text-anchor", "middle")
.text(function(d, i) { return capitalMeta[i]; })
.attr("style","font-size:12px;")
.style("color","#DE3378"); <--------------- adding color attribute here...
MODIFIER - essayer de colorer différentes étiquettes d'axe de différentes couleurs avec le code suivant, mais cela ne fonctionne pas correctement ...
.style(function() {
for (var i = 0; i < unhealthyArray.length; i++) {
if ($.inArray(unhealthyArray[i], capitalMeta) != -1)
return "fill","red";
else
return "fill","black";
}
});
Vous devez utiliser l'attribut stroke
(pour le contour) ou fill
(pour la couleur de remplissage). Voir par exemple ce tutoriel .