Placer les grappes sur le même rang dans Graphviz
je voudrais que ces deux noeuds apparaissent au même niveau:

digraph G {
subgraph cluster1 {
label="Local Datacenter";
router1;
host1;
}
subgraph cluster2 {
label="Remote Datacenter";
router2;
host2;
}
router1 -> router2;
router2 -> host2;
router1 -> host1;
}
j'ai essayé d'utiliser rank=same et <!-Mais ils ne me donnent pas ce dont j'ai besoin.
fait intéressant, si je mets rankdir=LR et commente les deux arêtes routeur-hôte, ça me donne exactement le look que je veux - mais j'aimerais laisser les arêtes intactes.
2 réponses
Vous pouvez simplement modifier l'arête entre les routeurs:
router1 -> router2[constraint=false];
constraint indique si le bord doit être utilisée dans le classement des nœuds.
vous pouvez utiliser le (non documenté?) newrank attribut graph (ajouté dans GraphViz 2.30) Pour Activer le nouvel algorithme de classement qui permet de définir rank=same pour les noeuds qui appartiennent à des clusters.
Ajoutez la ligne suivante en haut:
newrank=true;
ajouter la ligne suivante après le cluster définitions:
{ rank=same; router1; router2; }
voici le graphique résultant:
