2012-12-09 3 views
1

그래프에 긴 노드 레이블이 있습니다. Neato는 일을 겹치게 만듭니다. Circo는 내가 원하는 것을 수행한다. 단지 노드 사이에 너무 많은 공간을 만든다. Circo 결과를 사용하여 노드를 더 가깝게 만들고 싶습니다.긴 노드 레이블이있는 그래프의 최적 레이아웃

그래프 코드 : https://clbin.com/BbsNP

digraph { 
graph [overlap=scale]; 
graph [bgcolor=white]; 
node [shape=box]; 
0 [label="long node label" 
    ,shape=box]; 
1 [label="long node label" 
    ,shape=box]; 
2 [label="aoeu aoe uaoeu oae ueaoo" 
    ,shape=box]; 
3 [label="long node labelau" 
    ,shape=box]; 
4 [label="aoeu aoe uaoeu oae ueaooeu" 
    ,shape=box]; 
5 [label="long node labelaoeu" 
    ,shape=box]; 
6 [label="aoeu aoe uaoeu oae ueaoe" 
    ,shape=box]; 
7 [label="long node labelaoeuo" 
    ,shape=box]; 
8 [label="aoeu aoe uaoeu oae ueao" 
    ,shape=box]; 
9 [label="234 aoeua",shape=box]; 
10 [label="long node labeluu" 
    ,shape=box]; 
11 [label="aoeu aoe uaoeu oae ueao" 
    ,shape=box]; 
12 [label=oeuaoeu,shape=box]; 
13 [label="long node labelaa" 
    ,shape=box]; 
14 [label="aoeu aoe uaoeu oae ueao" 
    ,shape=box]; 
15 [label=aoeu,shape=box]; 
16 [label=aoeu,shape=box]; 
0 -> 1 [color=blue]; 
1 -> 0 [color=blue]; 
2 -> 1 [color=blue]; 
3 -> 0 [color=blue]; 
4 -> 3 [color=blue]; 
5 -> 0 [color=blue]; 
6 -> 5 [color=blue]; 
7 -> 0 [color=blue]; 
8 -> 7 [color=blue]; 
9 -> 7 [color=blue]; 
10 -> 0 [color=blue]; 
11 -> 10 [color=blue]; 
12 -> 10 [color=blue]; 
13 -> 0 [color=blue]; 
14 -> 13 [color=blue]; 
15 -> 13 [color=blue]; 
16 -> 13 [color=blue]; 
} 

이미지 : http://postimage.org/image/mrcak2021/

circo -T jpg Test.Layout.LongNodeLabel.dot > Test.Layou.LongNodeLabel.jpg 

답변

1

문제는 this recent question에있는 것과 유사하다. circo 대신 twopi을 기꺼이 사용하려는 경우 ranksep을 설정하여 노드를 끌어 당기거나 끌 수 있습니다. 설명서에서 설명하는대로 "동심원의 방사형 분리"를 변경할 수 있습니다.

digraph { 
    graph [bgcolor=white, overlap=true, ranksep=2.75]; 

그런 다음 twopi를 사용하여 그래프 : twopi test_graph.txt -Tpng -otest_graph.png

나는과 같이 시작 그래프 코드를 변경했습니다.

graph using circo http://s12.postimage.org/fo4f4fumk/Test_Layou_Long_Node_Label.jpg

:

여기 graph using twopi

비교 원래이다 : 이것은 다음과 같은 그래프를 생성

관련 문제