2012-10-03 3 views
1

다음 그래프 파일이 있습니다. 지금, 가장자리 레이블은 수평선에 배치되지만 노드를 수평선에 배치해야합니다. 이것을 어떻게 할 수 있습니까?Graphviz - 수평선에 노드 배치

digraph finite_state_machine { 
    node [shape = doublecircle]; q_5; 
    node [shape = circle]; 
    q_1 -> q_2 [ label = "." ]; 
    q_1 -> q_2 [ label = "\epsilon" ]; 
    q_2 -> q_1 [ label = "\epsilon" ]; 
    q_2 -> q_3 [ label = "a" ]; 
    q_3 -> q_4 [ label = "^\wedge a" ]; 
    q_3 -> q_4 [ label = "\epsilon" ]; 
    q_4 -> q_3 [ label = "\epsilon" ]; 
    q_4 -> q_5 [ label = "b" ]; 
} 

이것은 현재 모습입니다 : current output

+0

노드에 대한 Rankdir = "LR"을 사용하여 보시기 바랍니다. 그것이 도움이 될 수 있는지보십시오. –

답변

3

당신은 모든 노드에 대해 동일한 순위를 강제로 rank=same을 사용할 수 있습니다 :

digraph finite_state_machine { 
{ 
rank=same; 
    node [shape = doublecircle]; q_5; 
    node [shape = circle]; 
    q_1 -> q_2 [ label = "." ]; 
    q_1 -> q_2 [ label = "\epsilon" ]; 
    q_2 -> q_1 [ label = "\epsilon" ]; 
    q_2 -> q_3 [ label = "a" ]; 
    q_3 -> q_4 [ label = "^\wedge a" ]; 
    q_3 -> q_4 [ label = "\epsilon" ]; 
    q_4 -> q_3 [ label = "\epsilon" ]; 
    q_4 -> q_5 [ label = "b" ]; 
    } 
} 
+0

고마워요! 그게 효과가 있었지만 새로운 문제가 생겼어 ... : – oskarkv

+1

프라이팬에서 화재로 ... 나는 당신의 다른 질문에 답했다. – marapet