2013-02-09 100 views

回答

3

我试图实施相同的圆圈包装示例,并且也有重叠的圆圈。对于我来说,问题是由于数据父节点有0个子节点和大小为0的事实造成的。一旦我将具有空子节点的子节点的父节点更改为格式正确的树叶,问题就消失了。

坏重叠的数据结构前:

root = {name:"root", 
    children:[ 
     {name:"badchildlessparent", children:[]}, 
     {name:"parentnodewithchild", children:[{name:"a leaf",size=50}]} 
    ] 
} 

数据结构之后精美包装:

root = {name:"root", 
    children:[ 
     {name:"fixedit_now_child", size=1} , 
     {name:"parentnodewithchild", children:[{name:"a leaf",size=50}]} 
    ] 
} 
4

什么帮助我的是以下内容:通过排序

因此,变革过程的顺序你有

var pack = d3.layout.pack() 
.size([r,r]) 
.value(function(d) { return d.size; }); 

add

var pack = d3.layout.pack() 
.sort(d3.descending) 
.size([r,r]) 
.value(function(d) { return d.size; });