0

http://bl.ocks.org/2503502のようにツリー図を作成しています。

すべてのノードが折りたたまれたツリーが必要なため、最初のグラフには 1 つのノード (ルート) のみを含める必要があります。ページが読み込まれると、ルート ノードのみが表示され、クリックすると残りの子ノードが表示されます。

どうすればいいですか?

4

1 に答える 1

0

少し前に質問されたのですが、私も似たような状況だったのでお答えします。

ここには、ルート ノードをクリック可能にするか、提供した例に現在表示されているように (ルートをクリックした後に) 子ノードを完全に表示するか、またはすべての子ノードを表示するかによって、いくつかのオプションがあります。同様に崩壊する。

オプション 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 ) に従うと、達成しようとしているものを実装する他の例が見つかります。

于 2013-04-26T12:16:23.247 に答える