93 votes

Afficher les étiquettes en ligne avec le bord lors de l'utilisation de Graphviz

J'utilise Graphviz 2.30. Le positionnement horizontal des étiquettes fonctionne bien, mais dans quelques cas, un angle modifié serait souhaité.

Par exemple, j'ai essayé différentes valeurs pour l'angle ici mais sans aucun effet :

ABB -> ABACUS[label="applied", fontname="Arial", fontsize=15, labelangle=110];

Comment puis-je afficher les étiquettes en ligne avec (c'est-à-dire parallèlement à) l'arête lorsque j'utilise un Graphviz digraph .

L'ensemble du digraph ne sera pas publié en raison d'un accord de confidentialité. En outre, la rotation ne sera appliquée qu'à quelques étiquettes.

J'ai lu des fils similaires comme este o un autre (ou un fil sur l'alignement par exemple) mais sans aucune aide concernant mon problème.

6voto

malbarbo Points 7014

Utilisation de dot2latex vous permet de spécifier lblstyle attribut. La valeur de lblstyle est utilisé par PGF/TikZ dans la génération de pdf.

On peut spécifier des étiquettes parallèles comme ceci :

digraph G {
    edge [lblstyle="above, sloped"];
    a -> b [label="ab"];
    b -> c [label="bc"];
    c -> a [label="ca"];
}

Pour générer le pdf

$ dot2tex --tikzedgelabel file.dot > file.tex
$ pdflatex file.tex

Le résultat est

enter image description here

0voto

Galax Points 1271

Edit : une autre réponse a trouvé une option qui existe maintenant pour aligner le texte avec les bords.

Votre meilleure option est d'exporter le graphique en tant que SVG et utiliser Illustrator o Inkscape pour l'ajuster. Ceci n'est pratique que pour produire quelques graphiques.

Je dois fréquemment modifier la sortie de Graphviz y Gephi Ils me donnent cependant un bon point de départ.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X