Starting from this example http://bl.ocks.org/1062288 I would like to have a tree with all the nodes collapsed, so the initial graph should contain only one node (the root).
var allnode = flatten(root);
for (var i=0;i<allnode.length;i++){click(allnode[i])}
for those still looking for it, here is 2 lines of code. compact and easy to understand.
Put this here for future readers:
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);
});
http://jsfiddle.net/chrisloughnane/vV3Sc/
Option 1: Modify the JSON
Modify the JSON file, readme.json
, to use _children
instead of children
.
Option 2: Edit the Javascript
Edit the javascript to switch the _children
and children
attributes for every node. This could be done like so
var nodes = flatten(root);
nodes.forEach(function(d) {
d._children = d.children;
d.children = null;
});
Here is a JSFiddle for the second option.