2017-10-15 77 views
0

我正在嘗試在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); 
} 

回答

1

我想你可能使這太難了。下面一行

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

好像它並不需要使用color功能,而只是返回對象的顏色屬性,就像這樣:

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

謝謝,@snapjs!是的,我通過「.style(」fill「,function(d){return d.color;})」來修復它。 –

相關問題