2016-11-01 4 views
0

현재 D3.js로 작업 중이며 강제 그래프 레이아웃입니다. 노드를 올바르게 배치하는 데 어려움을 겪고 있습니다. 중복되는 것처럼 보입니다. 각 자식 노드 사이에 명확한 간격이 필요합니다.d3 강제 레이아웃 - 위치 지정 노드

나는 진행중인 현재의 내 작품은 내가 그 잘못 뭐하는 거지 (거의 직접적으로 큰 반경 D3의 예에서하지만 함께 찍은 사진) 코드

https://jsbin.com/pajopizawi/edit?html,output

와 같은 모습의 예를 가지고 하위 노드를 겹치게하고 있습니까?

+0

* 음수 * 충전을 늘리면 노드 사이의 반발력을 높일 수 있습니다. '-600' 값은 잘하는 것 같습니다. – altocumulus

+0

'자식 노드'를 사용하면 d3 트리 레이아웃 중 하나가 더 나은 선택 일 때 노드 중첩에 대한 보장이없는 힘 지향 그래프를 사용하는 것이 문제라고 생각하게됩니다. 그것들은 각 노드에게 자신의 공간을주기 위해 설계되었습니다. 구조가 나무 인 경우 대신 시도하십시오. – mgraham

+0

@mrgraham 전적으로 동의합니다.하지만 연결을 격리하고 innertia 효과를 이끌어 낼 수 있어야합니다. – Udders

답변

0

나는 여기에 늦었다 고 알고있다. 그러나 이것은 "forceCollide"을위한 것이 아니다. 나는 내 노드의 반경을 6으로 설정하고 forceCollide 16은 그것들을 잘 분리하여 유지하는 것처럼 보인다. 이 V4에 있지만

.force("collide", d3.forceCollide(16));

, 당신의 예에서 작동하지 않는 것 같습니다.

관련 문제