我只需要对此处可用的布局进行简单修改 http://mbostock.github.io/d3/talk/20111116/force-collapsible.html
上述可视化从展开所有节点开始,因此用户可以可视化完整的层次结构。唯一的问题是如果图是密集的,那么形成的毛球是没有意义的。
我有兴趣从根节点开始,然后根据需要逐渐扩展所有节点。可行吗?需要多少代码更改?
我只需要对此处可用的布局进行简单修改 http://mbostock.github.io/d3/talk/20111116/force-collapsible.html
上述可视化从展开所有节点开始,因此用户可以可视化完整的层次结构。唯一的问题是如果图是密集的,那么形成的毛球是没有意义的。
我有兴趣从根节点开始,然后根据需要逐渐扩展所有节点。可行吗?需要多少代码更改?
我发现适用于此的方法是在所有子节点上调用 click 函数。您可以通过在上面提供的示例中插入以下两行来完成此操作(在脚本开头附近的 d3.json 调用下方插入这两行,在其末尾调用“update”)
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);
});