2014-07-14 2 views
1

레벨이 많은 이진 결정 트리를 인코딩하는 .dot 파일이 있습니다. 순서대로 시각화하려면 dot -Tpng sample.dot > sample.png 명령을 사용합니다. 그러나 생성 된 .png는 크고 이해하기 어렵습니다. 출력 파일에서 명령 줄 형식으로 렌더링되는 수준의 수를 제한 할 수 있는지 궁금합니다. 즉, -dot 파일을 수정하지 않으려 고합니다. 단지 .png 출력이 생성되는 방식을 조정하려고합니다. . documentation을 읽었지만 아무 것도 찾을 수 없었습니다.그래프의 깊이를 제한하는 그래프 만들기

예를 들어 의사 결정 트리의 첫 번째 수준을 3 개만 원하는 경우 다음과 같은 수정자가 있습니까 : dot -Tpng sample.dot > sample.png -L 3?

답변

3

그래프의 일부만 표시하려면 dot을 사용할 수 없지만 gvpr을 사용하여 프로그래밍 방식으로 트리를 편집 한 다음 dot으로 편집 된 트리를 표시 할 수 있습니다. 모든 세부 사항은 gvpr 설명서 here을 참조하십시오. dot로 플롯하면 다음과 같다

digraph G { 
    n [level = 1] 
    n -> nL 
    nL [level = 2] 
    nL -> nLL 
    nLL [level = 3] 
    nLL -> nLLL 
    nLLL [level = 4] 
    nLL -> nLLR 
    nLLR [level = 4] 
    nL -> nLR 
    nLR [level = 3] 
    nLR -> nLRL 
    nLRL [level = 4] 
    nLR -> nLRR 
    nLRR [level = 4] 
    n -> nR 
    nR [level = 2] 
    nR -> nRL 
    nRL [level = 3] 
    nRL -> nRLL 
    nRLL [level = 4] 
    nRL -> nRLR 
    nRLR [level = 4] 
    nR -> nRR 
    nRR [level = 3] 
    nRR -> nRRL 
    nRRL [level = 4] 
    nRR -> nRRR 
    nRRR [level = 4] 
} 

... : : 파일 tree.dot 주어진 예를 들어

enter image description here

... 명령 gvpr -i 'N [level < 4]' tree.dot | dot -Tpng -otree3.png은 다음과 생산 이미지 :

enter image description here

gvpr을 사용하는 좀 더 정교한 방법으로, 그래프의 일부분을 내가 선택한 것처럼 레이블을 지정할 필요없이 선택할 수 있도록 할 수는 있지만 충분히 전문적이지는 않습니다. gvpr 내가 지금 당장 가지고있는 것보다 더 많은 연구없이 그 일이 어떻게 될지 정확하게 말하기.

+0

위대한 답변 !! 정말 고마워!! – tashuhka