Graphviz .point de noeud de commande
Je suis en train de construire un epsilon de l'ADN de reconnaître une expression régulière en utilisant la forme canonique de la construction. Je suis l'aide de sousgraphes de groupe différentes parties de l'expression régulière. * L'opérateur est de me donner notamment des ennuis depuis le point a décidé de déplacer l'ordre des nœuds autour. J'ai essayé d'ajouter arête de poids à force de particulier bords à court et à maintenir l'ordre sur les bords dans la ligne, mais qui ne semble pas être efficace.
Ce que je voudrais faire est de forcer les nœuds dans un graphe à être placés dans un ordre particulier de sorte que la sortie graphique est reconnaissable comme un type particulier de (bien connue) de la construction. Dans l'exemple ci-dessous je voudrais bords 3, 4, 5 et 6 placés dans l'ordre, cependant, le point place dans l'ordre 6, 3, 4, 5. Tous les pointeurs apprécié.
Noter que le poids actuel paramètre ne produit pas de différence de pas de poids du tout de paramètre.
J'ai le texte suivant
digraph G {
rankdir = LR;
node [shape = none];
0 [label = "start"];
node [shape = circle];
1 [label = "q1"];
2 [label = "q2"];
3 [label = "q3"];
4 [label = "q4"];
5 [label = "q5"];
node [shape = doublecircle];
6 [label = "q6"];
subgraph re1 {
rank = same;
edge[label = "0"];
1 -> 2;
};
subgraph re2 {
rank = same;
edge[label = "ε"];
3 -> 4 [weight = 10];
edge[label = "1"];
4 -> 5 [weight = 10];
edge[label = "ε"];
5 -> 6 [weight = 10];
5 -> 4 [weight = 1];
6 -> 3 [weight = 1];
};
edge[color=black];
0 -> 1
edge[label = "ε"];
2 -> 3;
}
Vous devez vous connecter pour publier un commentaire.
Voici comment allais-je écrire que graphique:
rankdir=LR
et a ajoutérank=same
uniquement pour les nœuds 0/1 et les nœuds de 2/3.constraint=false
sur les bords aller à l'encontre de la direction de la graphique - l'un allant du nœud 4 nœud 5, et celui du nœud 6 sur le nœud 3.Ici la source:
Et voici le résultat:
Maintenant, si vous le souhaitez, vous pouvez garder
rankdir=LR
, il suffit de prendre le balisage que vous avez posté, retirez le poids et ajouterconstraint=false
pour les mêmes bords que j'ai fait, ça fonctionne aussi.