8

この例から始めてhttp://bl.ocks.org/1062288すべてのノードが折りたたまれたツリーが欲しいので、最初のグラフには1つのノード(ルート)のみが含まれている必要があります。

4

3 に答える 3

11

オプション1:JSONを変更する

の代わりにreadme.json使用するようにJSONファイルを変更します。_childrenchildren

オプション2:Javascriptを編集する

javascriptを編集して、すべてのノードの属性_childrenと属性を切り替えます。childrenこれはそのように行うことができます

var nodes = flatten(root);
nodes.forEach(function(d) {
  d._children = d.children;
  d.children = null;
});

これが2番目のオプションのJSFiddleです。

于 2012-07-25T12:13:15.030 に答える
2
var allnode =  flatten(root);
for (var i=0;i<allnode.length;i++){click(allnode[i])}

まだそれを探している人のために、ここに2行のコードがあります。コンパクトでわかりやすい。

于 2013-11-05T13:46:10.427 に答える
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);
});

http://jsfiddle.net/chrisloughnane/vV3Sc/

于 2013-04-19T08:34:16.197 に答える