2012-12-14 140 views
1

我目前正在尋找使用d3.layout.tree模塊從CSV文件構建樹佈局。我能夠複製給出的答案here。然而,通過簡單地修改數據的樣子:從CSV CSV D3.js樹佈局

source,target 
A0,A1 
A0,A2 
A1,A2 
A2,A3 
A2,A4 

我們發現,調用tree.node(鏈接)之後,我們得到下面的示例輸出(從Chrome瀏覽器開發控制檯)爲第一要素的連接陣列中

Object 
source: Object 
children: Array[2] 
depth: 0 
name: "A0" 
x: NaN 
y: 0 
__proto__: Object 
target: Object 
children: Array[1] 
depth: 1 
name: "A1" 
parent: Object 
x: NaN 
y: 440 
__proto__: Object 
__proto__: Object 

和相應的節點數組是:

Object 
children: Array[2] 
0: Object 
1: Object 
length: 2 
__proto__: Array[0] 
depth: 0 
name: "A0" 
x: NaN 
y: 0 
__proto__: Object 

通知它包括在 「x」 場 「的NaN」 值。我無法確定爲什麼這個例子不會產生A0是有兩個孩子(A1,A2)的根,就像A2對(A3,A4)所做的那樣。欣賞任何幫助,真的很喜歡D3。顯然這意味着我不會得到所需的樹,我如何構建樹數據結構來提供所需的樹?

+0

你的問題是什麼? –

+0

@eicto更新了問題。我只是說了這個問題,但我想生成所需的樹形圖。如何修復@mbostock在d3.js網站上引用的例子? – Justin

回答

0

你上面的數據不是一棵樹。用A1,A2您正在創建一個循環引用(其中一個節點可以有多個父節點)。如果你的數據是正確的,那麼這是一個強制指導圖,它也可以是be created in D3

+0

d'oh。謝謝你指出我的錯誤。在此之前,我正在使用武力指導,顯然,我的思路對這個數據結構是正確的。 – Justin