2016-11-01 13 views
0

現在、D3.jsで作業しており、強制的なグラフレイアウトです。私はノードが正しく配置されるように苦労している、彼らは重複しているようだ私は各子ノード間の明確なギャップが欲しいです。d3強制レイアウト - 配置ノード

ことを私は進行中の私の現在の仕事はコードでどのように見えるかの例を持っている(かなりの直接D3の例からではなく、より大きな半径で撮影)

https://jsbin.com/pajopizawi/edit?html,output

私が間違って何をやっています子ノードを重複させていますか?

+0

ノード間の反発力を増やすには、*負の*充電を増やします。 '-600'の値はうまくいくようです。 – altocumulus

+0

「子ノード」を使用すると、d3ツリーレイアウトのほうが良い選択肢になると、ノードオーバーラップの保証がない、強制的なグラフを使用している可能性があります。それらは、各ノードに独自の空間を与えるように設計されています。あなたの構造が木であれば、代わりにそれを試してみてください。 – mgraham

+0

@mrgraham私は完全に同意しますが、私は接続を隔離し、innertia効果を持ってドラッグすることができます。 – Udders

答えて

0

私はここに遅れていると知っていますが、これは "forceCollide"のためのものではありません。私は自分のノードの半径を6に設定し、forceCollide 16はそれらをきれいに離しているようだ。

.force("collide", d3.forceCollide(16));

これはV4であるが、あなたの例で動作するようには思えません。

関連する問題