Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自CSV的D3.js树布局_Javascript_Csv_D3.js - Fatal编程技术网

Javascript 来自CSV的D3.js树布局

Javascript 来自CSV的D3.js树布局,javascript,csv,d3.js,Javascript,Csv,D3.js,我目前正在考虑使用d3.layout.tree模块从CSV文件构建树布局。我能够重复给出的答案。但是,只需将数据修改为: source,target A0,A1 A0,A2 A1,A2 A2,A3 A2,A4 我们发现,在调用tree.node(links)之后,我们得到链接数组中第一个元素的以下示例输出(来自Chrome开发控制台) Object source: Object children: Array[2] depth: 0 name: "A0" x: NaN y: 0 __proto

我目前正在考虑使用d3.layout.tree模块从CSV文件构建树布局。我能够重复给出的答案。但是,只需将数据修改为:

source,target
A0,A1
A0,A2
A1,A2
A2,A3
A2,A4
我们发现,在调用tree.node(links)之后,我们得到链接数组中第一个元素的以下示例输出(来自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。显然,这意味着我将无法获得所需的树,如何构建树数据结构以提供所需的树?

您上面的数据不是树。使用
A1、A2
可以创建循环引用(其中一个节点可以有多个父节点)。如果您的数据是正确的,那么这是一个力定向图,它也可以。

@eicto用问题更新。我只是说明了问题,但我想生成所需的树形图。如何修复@mbostock在d3.js网站上引用的示例。谢谢你指出我的错误。在此之前,我是在force的指导下工作的,显然我的思维方式适合这种数据结构。