2011-03-08 2 views
6

I는 다음과 같은 정의 그래프 가지고위치 노드 '{순위 = 같은 ...}`부작용

enter image description here

당신에게 :

digraph G { 
    rankdir=LR 
    node[shape=circle] 
    q_[shape=none label=""] 
    q3[shape=doublecircle] 
    q4[shape=doublecircle] 
    q_->q0 
    q0->q1[label="λ"] 
    q0->q2->q4[label=a] 
    q1->q4->q2[label=b] 
    q1->q3[label=a] 
    q3->q4[label="λ"] 
    {rank=same; q4 q3} 
    {rank=same; q1 q2} 
} 

그래프는 다음 화상을 출력 그래프로 여기에서 놀 수 있습니다. http://graph.gafol.net/derive/effpjWfSD

내 질문은 :

q4가 렌더링 된 그래프에서 q3을 가리키는 이유는 무엇입니까? {rank=same; q4 q3}에는 노드 위치 지정보다 의미 론적 의미가 더 많으니까? 그렇다면 어떻게 노드를 배치하여 {rank=same; ...}을 사용하지 않고 출력이 무시 무시한 것이 아닌지 확인할 수 있습니까?

답변

5

rank=same에 숨겨진 의미 의미가 없습니다. 이것은 단순히 버그입니다.

예를 들어 모서리의 레이블을 생략하거나 rankdir=LR과 같이 가장자리를 올바르게 그립니다.

당신은 잘못 그려진 모서리로 dir 속성을 추가하여 특정 그래프를 해결할 수

q3->q4[label="λ", dir=back] 

동적 그래프를 만들 때 더 도움 물론이다.

가이 버그는 rankdir=LR에 의한 다른 알려진 버그 중 하나에 관련이있을 수 있습니다, 에지 속성이 근무로`DIR = back` 추가 http://www.graphviz.org:8080/bugs/openbugs.html

+0

보도했다. 올바른 노드를 가리키고 있습니다. 고맙습니다. – kzh