http://bl.ocks.org/2503502のようにツリー図を作成しています。
すべてのノードが折りたたまれたツリーが必要なため、最初のグラフには 1 つのノード (ルート) のみを含める必要があります。ページが読み込まれると、ルート ノードのみが表示され、クリックすると残りの子ノードが表示されます。
どうすればいいですか?
http://bl.ocks.org/2503502のようにツリー図を作成しています。
すべてのノードが折りたたまれたツリーが必要なため、最初のグラフには 1 つのノード (ルート) のみを含める必要があります。ページが読み込まれると、ルート ノードのみが表示され、クリックすると残りの子ノードが表示されます。
どうすればいいですか?
少し前に質問されたのですが、私も似たような状況だったのでお答えします。
ここには、ルート ノードをクリック可能にするか、提供した例に現在表示されているように (ルートをクリックした後に) 子ノードを完全に表示するか、またはすべての子ノードを表示するかによって、いくつかのオプションがあります。同様に崩壊する。
オプション 1 (ルート ノードのみが折りたたまれている)
オブジェクトの初期化時にd3
、関数内でコード化されているupdate(root);
( ctrl+fまたはcmd+fを実行する) put in toggle(root)
. 変数名root
は与えられた例に従っています。バージョンと関数名は異なる場合があります (作業するサンプルコードを提供していないため)。
オプション 2 (すべてのノードが折りたたまれている)
上記のオプション 1 と同じことを行いますが、新しく挿入される直前にwheretoggle(root);
も挿入する必要がある関数を配置します。root.children.forEach(toggleAll);
toggleAll
function toggleAll(d) {
if (d.children) {
d.children.forEach(toggleAll);
toggle(d);
}
}
代替オプション
私が与えたオプションは上記に限定されません。brantolsen.github.com によるこの例 ( https://stackoverflow.com/a/11649427 ) に従うと、達成しようとしているものを実装する他の例が見つかります。