J'ai un graphique que j'ai créé dans graphviz, mais le problème est que les bords se chevauchent (j'ai 5-7 nœuds dans chaque ligne), il est donc difficile de dire pour chaque nœud quels sont les nœuds qu'il connecte.
Comment puis-je faire en sorte que les bords ne se chevauchent pas? Les faire se croiser c'est OK.
Je suppose que vous avez un graphique dirigé que vous disposez avec un point.
Je ne pense pas qu'il y ait un interrupteur magique pour empêcher les bords qui se chevauchent. Graphviz essaie de le faire hors de la boîte.
Quelques suggestions qui peuvent aider, selon le graphique:
Une autre approche consiste à ajouter une propriété de chevauchement au graphique. Les propriétés autorisées sont l'échelle (qui augmentera considérablement la taille de la sortie) ou false (qui n'augmentera pas autant la taille, mais provoquera probablement le chevauchement des bords des nœuds).
overlap = scale;
Si vous utilisez overlap = false, vous pouvez vous débarrasser des chevauchements Edge avec les nœuds en ajoutant l'attribut splines=true:
overlap = false;
splines = true;
Cela ralentira sensiblement le temps de génération pour les grands graphiques.
Même pour un graphique assez trivial, je vois graphviz
(neato
, fdp
) pour générer des chevauchements. Par exemple:
graph G {
0;
1;
2;
3;
0--1 ;
1--2 ;
2--3 ;
3--0 ;
}
Produit une croix dans ma version du code 2.38.0
. De la documentation ils recommandent d'essayer avec différentes graines aléatoires. Par exemple, cela a fonctionné pour moi:
neato -Gstart=5 file.dot -Tps -o file.ps