Javascript d3强制可折叠布局-折叠所有节点的起始页

Javascript d3强制可折叠布局-折叠所有节点的起始页,javascript,d3.js,force-layout,Javascript,D3.js,Force Layout,我只需要对这里可用的布局进行简单的修改 上述可视化从展开所有节点开始,因此用户可以可视化整个层次结构。唯一的问题是,如果图是稠密的,那么形成的毛球是没有意义的 我感兴趣的是从根节点开始,然后根据需要逐渐扩展所有节点。可行吗?需要对代码进行多少更改?我发现实现这一点的方法是在所有子节点上调用click函数。您可以通过在上面提供的示例中插入以下两行来实现这一点(将这两行插入d3.json调用的正下方,靠近在脚本末尾调用“update”的脚本的开头) d3.json(“flare.json”,函数(

我只需要对这里可用的布局进行简单的修改

上述可视化从展开所有节点开始,因此用户可以可视化整个层次结构。唯一的问题是,如果图是稠密的,那么形成的毛球是没有意义的


我感兴趣的是从根节点开始,然后根据需要逐渐扩展所有节点。可行吗?需要对代码进行多少更改?

我发现实现这一点的方法是在所有子节点上调用click函数。您可以通过在上面提供的示例中插入以下两行来实现这一点(将这两行插入d3.json调用的正下方,靠近在脚本末尾调用“update”的脚本的开头)

d3.json(“flare.json”,函数(json){
root=json;
root.fixed=true;
根x=w/2;
根y=h/2-80;
更新();
});
//新代码
var collapseMe=扁平化(根);
对于(var j=0;j
您可以通过在所有节点上循环并调用
单击功能来破解它。或者在json文件中,用“
\u children
”查找/替换“
子项”
”。将带有“children”的json文件修改为“\u children”无效。不确定在何处实现循环以在所有节点上实现单击功能。您是否有一个示例脚本可以在页面上使用?您是否也可以发布一些解释?
d3.json("flare.json", function(json) {
  root = json;
  root.fixed = true;
  root.x = w / 2;
  root.y = h / 2 - 80;
  update();
});

//new code
var collapseMe = flatten(root);
for(var j = 0; j< collapseMe.length; j++){click(collapseMe[j])};
       just do it like this 
        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);
                 });