2

特定の d3.layout.tree またはその他のレイアウトに必要な幅と高さを簡単に決定して、ノードが互いに重ならないようにするD3 APIドキュメントを見つけることができませんでした。

たとえば、d3.layout.tree の例は、すべての子ノードを展開するとオーバーラップし始めます。

重複を避けるためにツリーの幅と高さを決定する簡単な D3 メソッドはありますか? または、独自のメソッドを作成する必要がありますか?

編集

将来のある時点でこの動作が追加される未解決の問題があります。

編集#2

https://github.com/mbostock/d3/wiki/Cluster-Layout#nodeSizehttps://github.com/mbostock/d3/wiki/Tree-Layout#nodeSizeがあり、レイアウト ベースのサイズを設定できます。各ノードのサイズ。

4

1 に答える 1

2

これは自分で作成する必要があるものだと確信しています。ツリーレイアウトでは、ツリーノード、ラベル、その他の視覚要素(特にこれらの要素のサイズ)をどのように表現するかがわからないため、必ずしも重複していることを知っている必要があります(要素のサイズを小さくすると、重複しなくなります)。そのため、このようなものをツリーレイアウト機能に組み込むことは不可能だと思います。

'basewidth'変数を使用し、それを表示されている'final'ノードの数で乗算することにより、幅(または必要に応じて高さ)を動的に設定することを検討できます。

于 2012-07-23T02:28:54.717 に答える