我对 d3.js 包布局有疑问。圆圈重叠,我不知道为什么......
我使用了这个例子中的代码:
http://mbostock.github.com/d3/talk/20111116/pack-hierarchy.html
这就是我的工作:
http://projekty.bron.it/d3-circles-all/
如您所见,重叠使图表无法使用。
我对 d3.js 包布局有疑问。圆圈重叠,我不知道为什么......
我使用了这个例子中的代码:
http://mbostock.github.com/d3/talk/20111116/pack-hierarchy.html
这就是我的工作:
http://projekty.bron.it/d3-circles-all/
如您所见,重叠使图表无法使用。
对我有帮助的是:通过排序更改流程顺序
所以你在哪里
var pack = d3.layout.pack()
.size([r,r])
.value(function(d) { return d.size; });
添加
var pack = d3.layout.pack()
.sort(d3.descending)
.size([r,r])
.value(function(d) { return d.size; });
我尝试实现相同的圆形包装示例并且也有重叠的圆圈。对我来说,问题是由于数据父节点有 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}]}
]
}