2013-03-13 6 views
3

D3.JS Tree LayoutCrossFilter과 어떻게 연결할 수 있습니까?D3 JS 레이아웃 트리가 CrossFilter에 연결되었습니다.

내가 this example tree이라고 가정합니다. 그런 다음 CrossFilter에 대한 입력 데이터 집합으로 사용되는 트리 노드 목록을 추출합니다.

다음 크기에 따라 필터링하고이 필터링을 기반으로 트리를 동적으로 업데이트하려고합니다. 트리 데이터 원본을 어떻게 업데이트해야합니까? 더 나은 방법이

treeJson = graph2tree(filteredNodes, filteredEdges)

또는이있다 :

나는 등, 다시 원래의 입력 트리 데이터 구조를 얻을 수있는 함수를 작성해야?

답변

2

트리이므로 각 요소에 대한 전체 경로를 차원 키로 사용할 수 있습니다. 그런 다음 모든 분기는 차원의 연속 범위입니다.

예. 이 지점에 자동으로 정렬합니다 A.1 A.2 A.3

그런 다음 크기에 키가 또 다른 차원을 가지고 있고, 사용 B.1 treeDim.top (무한대) 또는 .group() 얻을 수있는 당신의 항목. 그들은 트리 구조가 아니지만 적어도 순서대로 존재하므로 d3.nest를 사용하여 트리로 만들 수 있습니다.

... 브랜치를 필터링하고 싶다면 범위를 [A, B]로 설정하십시오.