1

現在、d3.layout.treeモジュールを使用してCSVファイルからツリーレイアウトを構築することを検討しています。私はここで与えられた答えを複製することができます。ただし、データを次のように変更するだけです。

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

tree.node(links)を呼び出すと、リンク配列の最初の要素に対して次のサンプル出力(Chrome Devコンソールから)が得られることがわかります。

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が生成されない理由を特定できません。これは、A2が(A3、A4)に対して行うように、2つの子(A1、A2)を持つルートです。どんな助けにも感謝します、本当にD3が大好きです。明らかに、これは目的のツリーを取得できないことを意味します。目的のツリーを提供するためにツリーデータ構造を構築するにはどうすればよいですか?

4

1 に答える 1

0

上記のデータはツリーではありません。循環参照を作成してA1,A2います(1つのノードが複数の親を持つことができます)。データが正しければ、これは力指向のグラフであり、D3でも作成できます。

于 2012-12-16T20:30:22.137 に答える