如何在D3中的甜甜圈图中为特定弧添加自定义颜色



我正在尝试构建甜甜圈图。如何添加特定于弧线的不同颜色。例如,我想要状态"一个",蓝色的红色,蓝色为"两个",绿色状态"三"等...

...

我尝试了以下内容,

var color = d3.scale.ordinal()
 .domain(["one","two","three","four","five"])
 .range(["#013ADF", "#ACFA58", "#DF3A01", "#6b486b", "#a05d56"]);

paths.enter().append("svg:path")
        .attr("stroke", "white")
        .attr("stroke-width", 0.5)
        .attr("fill", function(d, i) {console.log(color(d.name)); return color(d.name); })

我最初能够获得颜色。但是,当任何状态计数减少到0时,颜色就会被改组。再一次,当我增加状态数量时,我无法将特定的颜色恢复……

请帮助一些建议....

您最好每次更新颜色,不仅在Enter()。

paths.enter().append("svg:path")
    .attr("stroke", "white")
    .attr("stroke-width", 0.5)
path.attr("fill", function(d, i) {console.log(color(d.name)); return color(d.name); })

最新更新