D3で事前定義された深さのツリーを作成したいと思います。
ツリーが生成される前に深さを設定する方法はありますか?
それはあなたの「木」の定義に依存します。D3にはいくつかの階層レイアウトがあり、そのうちの1つはd3.layout.treeです。ツリーレイアウトは、Reingold–Tilfordの整然としたツリーレイアウトアルゴリズムを参照しています。この特定のアルゴリズムは、すべての兄弟が同じ深さであると想定しているため(ノードを整然と配置できるように)、ノードの深さをカスタマイズするのに役立ちません。
対照的に、d3.layout.clusterは、カスタムの深さでノードをレンダリングするように簡単に変更できます。生成された座標を無視して、独自の深度値に置き換えてください(おそらく、データからピクセルにマップするための線形スケールd.y
と組み合わせて)。この手法の例については、上田健一の直角系統図を参照してください。