Le positionnement des Nœuds Avec `{rang=même ...}` Effets Secondaires
J'ai un graphique définie comme suit:
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}
}
Le graphique sorties de l'image suivante:
Vous pouvez jouer avec le graphique ici: http://graph.gafol.net/derive/effpjWfSD
Ma question est:
Pourquoi est-t4 pointant vers t3 dans le rendu graphique et non pas la façon dont je l'ai indiqué dans le balisage? Est-ce parce que {rank=same; q4 q3}
a plus de sens sémantique que juste positionnement des nœuds? Si c'est le cas, comment puis-je positionner les nœuds de sorte que la sortie n'est pas aussi horrible que la sortie est sans l'aide de {rank=same; ...}
?
Vous devez vous connecter pour publier un commentaire.
Il n'est pas caché de sens sémantique dans
rank=same
, c'est tout simplement un bug.Le bord est correctement établi lorsque, par exemple, l'omission de l'étiquette de l'arête ou
rankdir=LR
.Vous pouvez corriger ce type de diagramme en ajoutant le
dir
attribut du mal rédigé bord:Bien sûr ce n'est d'aucune aide lors de la création dynamique des graphiques.
Ce bug est peut-être lié à l'un des autres bugs connus causée par
rankdir=LR
, a rapporté http://www.graphviz.org:8080/bugs/openbugs.htmldir=back
comme une arête bien travaillé. Le nœud correct est en train d'être souligné. Je vous remercie.Changer {rang=même; t4 t3} à {rang=même; t3 t4} peut également fonctionner (pas testé). La lecture de haut en bas, de gauche à droite, la plus récente de la mise en page de l'instruction de ces nœuds (t3 et t4) les changements de lignes de commande et des remplacements avant de flèches:
{rang=même; t4 t3}
Peut-être que ce n'est pas un bug.