从json为d3js设置特定颜色sunburst图表
问题描述:
我正在尝试在d3js中创建一个sunburst图表,并希望每个项目/节点都具有读取包含层次结构的json文件的特定颜色。在d3js社区看过很多例子,但从来没有找到明确的答案。谢谢!从json为d3js设置特定颜色sunburst图表
这里是我的JSON(flare2.json)文件:
{
"name": "Root","color": "#c0e2f1",
"children": [
{
"name": "T1","color": "#a3a3a3",
"children": [
{"name": "S1", "size": 3938, "color": "#a9a9a9"},
{"name": "D1","size": 3238, "color": "#ef69b4"}
]
},
{
"name": "T2", "color": "#c0e2f1"
}
]
}
这里是JavaScript片段调用JSON:
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
功能,而只是返回对象的颜色属性,就像这样:
.style("fill", function(d) { return d.color; })
谢谢,@snapjs!是的,我通过“.style(”fill“,function(d){return d.color;})”来修复它。 –