2012-03-15 82 views
6

我想以樹的形式安排我的節點。現在,我正在從here的這個例子中脫穎而出。目前,我依賴的是一種強制指導佈局,但我試圖對其進行修改,使得我可以獲得具有預定數量級別的樹,即如果節點屬於特定「層」,則它應該屬於與其他節點相同的區域圖層。如何使用d3及其佈局來構建一棵樹?

我試圖在下面的圖片中解釋更多,但沒有人有任何建議嗎? d3內部是否有預定的算法可以做到這一點,或者可以調整以實現這一目標?

enter image description here

+0

該源代碼包含動態樹的示例。你應該看看它,它可能是你想要的(至少看起來很相似)。 *編輯:*我的意思是[這個例子](https://github.com/mbostock/d3/blob/master/examples/tree/tree-dynamic.html)。 – 2012-03-15 00:47:59

+1

是否有你在這裏使用強制定向佈局而不是靜態樹佈局的原因,例如http://bl.ocks.org/1061834? – nrabinowitz 2012-03-15 00:48:34

+0

@nrabinowitz:+1謝謝。簡直不敢相信我錯過了!我猜兩者都會爲我的目的服務!有沒有一種方法可以讓它們互動,以便節點在我將它們拖到某個地方時纔會回來?這有助於拖拽某個節點並將其解釋給某人。 – Legend 2012-03-15 00:55:18

回答

10

你的圖看起來幾乎相同,this example它使用基於深度定製的重力。有another example使用吸引到父節點的自定義力。這些都是從my talk強制佈局。

當然,部隊佈局只是一個選擇 - 而@nrabinowitz說還有更多hierarchy layouts。你可以在我的SVG Open talk中找到moreinteractivehierarchyexamples

+1

你真是一個傳奇!非常感謝您花時間向我展示所有示例。順便說一下,非常翔實的談話。 – Legend 2012-03-15 03:53:00