2012-07-22 4 views
2

주어진 d3.layout.tree 또는 다른 레이아웃에 필요한 너비와 높이를 쉽게 결정할 수있는 D3 API 설명서를 찾을 수 없었습니다. 따라서 어떤 노드도 서로 겹치지 않도록 할 수 있습니다.d3.layout.tree 크기를 자동으로 결정하는 방법은 무엇입니까?

예를 들어 d3.layout.tree example은 모든 하위 노드를 확장하면 겹쳐지기 시작합니다.

겹치는 것을 방지하기 위해 내 트리가 있어야하는 너비와 높이를 결정하는 간단한 D3 방법이 있습니까? 아니면 내 방법을 써야합니까?

편집

은 미래의 어떤 시점에서 추가 할이 동작에 대한 issue 열려 있습니다.

EDIT # 2

각 노드의 크기에 기초하여 상기 레이아웃의 크기를 설정하고 현재 https://github.com/mbostock/d3/wiki/Cluster-Layout#nodeSizehttps://github.com/mbostock/d3/wiki/Tree-Layout#nodeSize있다.

답변

2

저는 이것이 당신이 직접 만들어야 할 필요가 있다고 확신합니다 - 트리 레이아웃은 트리 노드, 레이블 및 기타 시각적 요소 (특히 해당 요소의 크기)를 어떻게 나타낼 지 모릅니다. 따라서 반드시 오버 랩핑 (요소의 크기를 줄일 수 있고 더 이상 그렇게하지 않을 것임)한다는 것을 반드시 알 필요는 없습니다. 따라서 트리 레이아웃 기능에 이와 같은 것을 구축하는 것이 가능할 것이라고는 생각하지 않습니다.

'basewidth'변수를 사용하고 표시되는 '최종'노드 수를 곱하면 동적으로 너비 (또는 높이)를 설정할 수 있습니다.

관련 문제