2012-07-02 2 views
1

저는 D3에서 막 시작했습니다. 현재 저는 5 개의 다른 센터와 노드가 각각 데이터 속성을 기반으로 각각의 주변에 중력을 가하고 있습니다. 이상적으로, 다섯 그룹의 각 노드는 동일한 수의 노드를 가지므로 대략 균일 한 너비의 열로 나타납니다.이 예제의 오렌지 그룹과 비슷합니다 (잠시 동안 실행 시키면 http://bl.ocks.org/1021953).D3 포스 레이아웃 센터의 너비 제한

일부 그룹에는 많은 노드가 있지만 일부 그룹에는 노드가 없어 일부 클러스터의 크기가 다른 노드보다 훨씬 넓습니다. 노드가 센터의 왼쪽이나 오른쪽으로 표류 할 때까지 최대 너비를 설정할 수 있습니까? 그래도 노드가 노드 위와 아래에서 자유롭게 드리프트 할 수 있습니까?

또는 각 그룹 사이에 보이지 않는 노드 열을 적절하게 배치하여 가짜로 만들 수 있습니까?

도움을 주시면 감사하겠습니다.

답변

1

많은 수고를 거친 후 알파를 여러 숫자로 곱하면 왼쪽/오른쪽 및 위쪽/아래쪽 독립적으로 조절할 수 있다는 것을 알게되었습니다.

이 다음 예 (http://vallandingham.me/d3_without_svg.html)이

bubble.y = bubble.y + (center.y - bubble.y) * (0.115) * alpha*.5; //smaller alpha = looser 
bubble.x = bubble.x + (center.x - bubble.x) * (0.115) * alpha*3; //bigger alpha = tighter 
같은 것을에 setBubbleLocation 기능을 설정할