从这个示例开始http://bl.ocks.org/1062288我希望有一个树,所有节点都已折叠,因此初始图应该只包含一个节点(根)。
答案 0 :(得分:10)
选项1:修改JSON
修改JSON文件readme.json
,使用_children
代替children
。
选项2:编辑Javascript
编辑javascript以切换每个节点的_children
和children
属性。这可以这样做
var nodes = flatten(root);
nodes.forEach(function(d) {
d._children = d.children;
d.children = null;
});
这是第二个选项的JSFiddle。
答案 1 :(得分:2)
var allnode = flatten(root);
for (var i=0;i<allnode.length;i++){click(allnode[i])}
对于那些仍在寻找它的人来说,这里有2行代码。紧凑且易于理解。
答案 2 :(得分:1)
将此放在未来的读者身上:
d3.json("json/results.json", function(json) {
root = json;
root.x0 = h / 2;
root.y0 = 0;
function toggleAll(d) {
if (d.children) {
d.children.forEach(toggleAll);
toggle(d);
}
}
root.children.forEach(toggleAll);
toggle(root);
update(root);
});