データ json が http://bl.ocks.org/mbostock/4063550 で定義されている形式であり、それをhttp://bl.ocks.org/mbostock/4062045
で定義されている json 形式にしたい場合。
次のようにします。
//this will make the nodes
function flatten(root) {
var nodes = [];
var i = 0;
function recurse(node) {
if (node.children) node.children.forEach(recurse);
if (!node.id) node.id = ++i;
nodes.push(node);
}
recurse(root);
return nodes;
}
//Here root is the json defined in http://bl.ocks.org/mbostock/4063550
nodes = flatten(root);
//this will return the links in the desired format
links = d3.layout.tree().links(nodes);
//check console for output
console.log(nodes)
console.log(links)
はい、データを動的に変更できます。これには多くの例があります。作業コードはこちら
これがお役に立てば幸いです!