D3.js 从json为d3js sunburst图表设置特定颜色

D3.js 从json为d3js sunburst图表设置特定颜色,d3.js,D3.js,我试图在d3js中创建一个sunburst图表,并希望每个项目/节点都具有特定的颜色,该颜色从保存层次结构的json文件中读取。我看过d3js社区中的许多例子,但从未找到明确的答案。谢谢 以下是我的json(flare2.json)文件: 下面是调用json的javascript代码段: d3.json("flare2.json", function(error, root) { var g = svg.selectAll("g") .data(partition.nod

我试图在d3js中创建一个sunburst图表,并希望每个项目/节点都具有特定的颜色,该颜色从保存层次结构的json文件中读取。我看过d3js社区中的许多例子,但从未找到明确的答案。谢谢

以下是我的json(flare2.json)文件:

下面是调用json的javascript代码段:

d3.json("flare2.json", function(error, root) {
    var g = svg.selectAll("g")
        .data(partition.nodes(root))
        .enter().append("g");

    var color = d3.scale.ordinal();

    var path = g.append("path")
        .attr("d", arc)
        //.style("fill", function(d) { return colors((d.children ? d :     d.parent).name); })
        .style("fill", function(d) { return color(d.color); })
        .on("click", click);
}

我想你可能把这件事搞得太难了。下一行

.style("fill", function(d) { return color(d.color); })
似乎它不需要使用
color
函数,只需返回对象的color属性,如下所示:

.style("fill", function(d) { return d.color; })

我想你可能把这件事搞得太难了。下一行

.style("fill", function(d) { return color(d.color); })
似乎它不需要使用
color
函数,只需返回对象的color属性,如下所示:

.style("fill", function(d) { return d.color; })

谢谢,@snapjs!是的,我用“.style(“fill”,function(d){return d.color;})”修复了它。谢谢,@snapjs!是的,我用“.style”(“fill”,function(d){returnd.color;})”修复了它。