Je voudrais forcer le point à n'afficher que les bords verticaux ou horizontaux entre les nœuds.
J'ai trouvé une demande similaire avec le message Disposition de l'arbre généalogique avec Dot/GraphViz , mais je ne traite pas des arbres, j'espère donc qu'il existe une solution sans insérer de nœuds supplémentaires ...
Si je construis le graphique suivant:
digraphe G { splines = ortho A [forme = boîte] B [forme = boîte] C [forme = boîte] D [forme = boîte] A -> B A -> C B -> D C -> D }
Ce que je reçois est le suivant:
Mais je voudrais un graphique comme celui-ci:
Comment obtenir un tel rendu?
Edit: l'attribut "splines" ne semble pas fonctionner comme prévu ... Y a-t-il quelque chose que j'ai fait de mal?
Votre syntaxe semble correcte. Quand je l'exécute, j'obtiens un routage Edge orthogonal (en quelque sorte):
Quelle version possédez-vous?
Je pose la question car le routage Edge orthogonal n'est disponible que dans les versions Graphviz à partir du 28 septembre 2010 et plus récent. Tous les systèmes n'ont pas de versions plus récentes. Sur mon système, je devais télécharger et installer manuellement Graphviz pour obtenir une version plus récente que 2.26.3 (qui date du 26 janvier 2010).
En supposant que votre graphique réel contient plus de 4 nœuds, si vous voulez que les lignes aient un pli et que vous ne voulez pas ajouter de nœuds supplémentaires (invisibles), vous devriez essayer de jouer avec l'attribut graphs nodesep
. Voir le code et l'image ci-dessous.
digraph G {
graph [splines=ortho, nodesep=1]
node [shape=record]
A -> {B, C} -> D
}