2014-11-22 112 views
0

我有一個平坦的文件,該文件是格式D3中父級/子級別中的多級映射可能嗎?

"id":1,"depends_on":2 
"id":1,"depends_on":4 
"id":1,"depends_on":5 
"id":2,"depends_on":3 
"id":4,"depends_on":5 

通常情況下,如果我沒有

"id":1,"depends_on":5 

我可以繪製D3佈局如下

without multi level mappings

當我包括"id":1,"depends_on":5

圖是真實存在的情節將是

with multi level mappings

理想我應該有1 & 5太之間的線路,與其他映射一起。

1)我該如何做到這一點?

2)數據結構應該如何? 是否真的需要有在主數據結構(各部件的重複條目(對象),以獲得在D3所需要的格式(父,孩子[])

使用d3.layout.force產生

Force Layout

回答

0

退房this example,它使用d3.layout.force()

阿力佈局的數據結構包括2個陣列:

節點

[{id: 1}, {id: 2}, {id: 3}, {id: 4}]` 

的陣列和陣列的路段的節點陣列中使用和鏈接陣列應該是相同的對象

[ 
    { source: {id: 1}, target: {id: 2} }, 
    { source: {id: 1}, target: {id: 3} }, 
    { source: {id: 2}, target: {id: 4} } 
] 

的對象。即在上面的例子中,nodes[0] == links.source[0]應該是真的。

+0

意識到這一點,但這似乎更加混亂。我正在尋找更多的集羣佈局,而不是佈局佈局。是否有可能適應相同的? 注意:更新與圖像。 – cypronmaya 2014-11-23 19:21:35