2016-11-24 9 views
0

同様の問題についてフォーラムを検索しましたが、何も見つかりませんでした。D3.jsツリーのカスタムノードオーバーラップ

私はthis d3-based org chartを出発点として使用しています。上記

enter image description here

私のツリーの下の部分です。 リーフノード(黄色)で、私はいくつかの要素を収容するためにそれらのサイズを変更する必要があります。 結果として、1つのノードが他のノードと重複します。

は、あなたたちはここに私を助けることを願って:

1/どのように私はdisrepectなく、それらの間の間隔を、ノードのサイズを変更できますか?私は黄色のブランチ上のノードがを重ならない作るために管理することができたとしても

2/、私は緑の枝上のノードを展開すると、彼らはまだ黄色側のノードと重複しますか?

3/これを行うには良い方法がありますか?

ありがとうございます!

答えて

0

同様のことを行う必要がある方は、Tree layout separationです。

function separation (a, b) { 
    return a.parent == b.parent ? 1 : 2; 
} 

それは(?番号1,2はどういう意味)ドキュメントを読んで紛らわしいですが、いくつかの記事を見た後、ここに行く:

は、ノード間の距離は、結果になりますその数ノードの幅

だから、あなたがやりたいと思いますどのような設定されたデフォルトのノードのです代わりにリターン1または2[1、YOUR_DEFAULT_HEIGHT]

すべきサイズは次に、あなたはノードの幅を返すと思います。そのため、初期ノードの幅を1に設定します。

これはそれです。希望は助ける:)