2014-07-14 1 views
4

가장자리가 겹치는 이상한 graphviz 레이아웃을 얻습니다. 내가 "5"노드 사이의 가장자리와 노드 "H"와 정확한 위치를 강제하는 경우, 모든 것이 잘 배치이상한 graphviz 가장자리가 겹치다

Default messy version

:

는 노드 "5"잘못된 장소에 배치 될 것으로 보인다 :

Fixed version

기본 레이아웃이 너무 지저분 왜? 나는 더 나은 결과를 얻을 수 있습니다

digraph dummy { 

    subgraph line1 { rank = same 
     "1", "a", "b", "c", "d", "e", "f", "17" 
    } 

    subgraph line2 { rank = same 
     "9", "g", "11" 
    } 

    subgraph line3 { rank = same 
     "3", "h", "i", "14" 
    } 

    "c" -> "d" 
    "a" -> "b" 
    "b" -> "c" 
    "e" -> "f" 
    "i" -> "14" 
    "14" -> "f" 
    "a" -> "3" 
    "3" -> "h" 
    "d" -> "9" 
    "9" -> "g" 
    "h" -> "i" 
    "g" -> "i" 
    "d" -> "e" 
    "g" -> "11" 
    "11" -> "e" 
    "b" -> "5" 
    #"5" -> "h" # Uncomment to "fix" 
    "c" -> "7" 
    "f" -> "17" 
    "1" -> "a" 
    "h" -> "13" 
    "i" -> "15" 
    "i" -> "15bis" 
    "i" -> "16" 
} 

@Sisyphus의 도움으로 (그러나 노드 "11"중앙 "g"여기

내 점 소스 (단지 고정 된 버전을 얻을 수있는 행의 주석)) 이유없이 전환 :

enter image description here

+0

점 콘텐츠가 생성됩니다. 그래서 눈에 보이지 않는 가장자리 인 "5"-> "h"[style = invis]'와 같은 픽스를 포함 할 수 없습니다. – PhE

+0

... 그럼 보이지 않는 속성을 포함하도록 생성기에 지시하십시오 ... –

+0

@ robert-siemer : 나는 콘텐츠 * 레이아웃에 대해 아무것도 모르기 때문에 나는 할 수 없다. – PhE

답변

1

변화

subgraph line2 { rank = same 
    "9", "g", "11" 
} 

to

{ rank = same 
    rankdir=LR 
    5->7->9->g->11[color=white] 
} 

이 노드는 "5"오른쪽이지만 "9"와 "g"는 잘못 배치됩니다.

+0

고마워, 도움이된다! 그러나 나는 여전히 노드 "11"과 "g"가 이와 같이 전환된다는 것을 이해하지 못한다! – PhE