Forcer les bords orthogonaux (verticaux ou horizontaux) avec un point
je voudrais forcer le point n'affichant que des bords verticaux ou horizontaux entre les noeuds.
j'ai trouvé une requête similaire avec le post arbre généalogique avec point/GraphViz , mais je ne traite pas avec les arbres, donc j'espère qu'il y a une solution sans insérer des noeuds supplémentaires...
si je construis le graphique suivant:
digraph G { splines=ortho A [ shape=box ] B [ shape=box ] C [ shape=box ] D [ shape=box ] A -> B A -> C B -> D C -> D }
ce que j'obtiens est ceci:
Mais je voudrais un graphique comme celui-ci:
Comment obtenir un tel Rendu ?
Edit: l'attribut" splines " ne semble pas fonctionner comme prévu... Il ya quelque chose que j'ai fait de mal ?
1 réponses
votre syntaxe semble correcte. Quand je l'exécute Je reçois le routage de bord orthogonal (de sortes):
quelle version avez-vous?
je demande parce que le routage de bord orthogonal est seulement disponible dans les versions de Graphviz à partir du 28 septembre 2010. Tous les systèmes n'ont pas des versions plus récentes. Sur mon système j'ai dû télécharger et installer manuellement Graphviz pour obtenir un version plus récente que 2.26.3 (qui date du 26 janvier 2010).
en supposant que votre graphe actuel contient plus de 4 noeuds, si vous voulez que les lignes aient une courbure et que vous ne voulez pas ajouter de noeuds supplémentaires (invisibles), vous devriez essayer de jouer avec le
les graphiques nodesep
attribut. Voir code et image ci-dessous.
digraph G {
graph [splines=ortho, nodesep=1]
node [shape=record]
A -> {B, C} -> D
}