2009-10-14 7 views
2

현재 작업하고있는 시스템에는 이진 의사 결정 트리가 포함되어 있습니다. 그들 중 많은 것들. 일부는 XML 형식으로 저장되므로 필요할 경우 수동으로 분석 할 수 있습니다.이진 의사 결정 트리를 표시하는 도구

트리 구조는 기본적으로 중첩되어 있습니다. <NODE> 태그. 각 노드에는 노드의 등록 정보를 정의하는 몇 개의 하위 태그가있을 수도 있습니다.

그래픽으로 나무를 표시하고 싶습니다. 세로 또는 가로는 상관 없지만 기하학적으로 나무 모양의 레이아웃을 사용하고 싶습니다. 이 같은 :

alt text

... 오히려 이진 트리를 표시하는 가장 좋은 방법은 아니다 일반적으로 파일 시스템 브라우저에서 사용되는 레이아웃보다.

.NET 기반 라이브러리가 있습니까? 아니면 잘 수행되는 독립 실행 형 도구가 있습니까?

답변

3

Graphviz을 보았습니까? .Net (resources 참조)에 대한 몇 가지 언어 바인딩이 있으며 다양한 형식으로 출력 할 수 있습니다 (SVG/HTML/Flex, 독립형 뷰어 등을 사용하여 볼 수 있도록)

+0

감사합니다. 나는 그것을 훑어 보았지만 XML이 아닌 독점적 인 입력 언어를 사용하는 것 같습니다. 좀 더 철저하게 조사해 보겠습니다. –

+0

사용자 지정 텍스트 형식이지만 특히 라이브러리를 사용하면 매우 쉽게 생성 할 수 있습니다. 차라리 '소유권'이라고 부르지 않을 것입니다. 잘 문서화되어 있고 공개되어 있습니다. – liori

+0

동의. XML이 아니지만 잘 정립되어 일반적으로 사용됩니다. –

1

WPF 기반 패키지를 발견했습니다. CodeProject의에 :

A Graph Tree Drawing Control for WPF

충분히 단순한 외모와 내 요구 사항을 포함해야한다. 이것에 대한 의견?

2

graphviz를

선택한 답변도 은 GraphVIZ 권장하지만 렌더링하는 예를 제공하지 않는다; 그 답변 아래에있는 더 많은 코멘트는 무엇입니까 graphviz은 질문에 인용 된 목적으로 사용하기 쉽지 않습니다.

나는 동의하지 않습니다. 실제로 이러한 목적 은 GraphVIZ 사용 - 라이브러리로 (파이썬 통해 pygraphviz 의해 공급 바인딩) 출력을 플롯 (즉, 트레이닝 세트에 대한 C4.5 algorithm을 실행하여 생성 한 구조). 그래프 유형을 유향 그래프로 설정하면 (이음 표이 공식 구문입니다.) graphviz의 SMACOF 알고리즘을 사용하면 바로 멋진 트리 구조를 얻을 수 있습니다. 예컨대

:

alt text http://img205.imageshack.us/img205/9290/btreeingraphviz.png

아래 그래프를 작성하기 위해, 난과, (예 nodesep, ranksep, 비)의 레이아웃에 영향을 미치는 "그래프"모든 파라미터에 대한 디폴트 값을 유지 'orientation'을 제외하고는 'landscape'로 설정됩니다 (기본값은 'portraint').

관련 문제