2012-12-14 61 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