web-dev-qa-db-fra.com

GRAPHVIZ - Comment faire le texte dans les étiquettes gauche-alignées?

J'utilise GRAPHVIZ pour visualiser le AST d'une langue que je suis analysé. Je veux inclure le code source (comme une étiquette) mais Grapheviz aligne le texte à l'intérieur de l'étiquette, qui gère avec Mon indentation (et le code est sensible à l'indentation). Voici un exemple du problème, la deuxième ligne de code ne doit pas être indentée:

enter image description here

Ceci est la partie pertinente du fichier .DOT généré:

graph [fontname=Courier,fontsize=10.0,labeljust=l,nojustify=true];
node [shape=box,width=0.2,height=0.2,fontname=Courier,fontsize=10.0,penwidth=0.5];
Edge [weight=1.2,penwidth=0.5,fontname=Courier,fontsize=10.0,labeljust=c];
labelloc="t";
label="\ndef square(a, b) -> a * b\ndef dotProduct(a, b) -> \n    a.x * b.x + a.y * b.y\n";
38
migimunz

Vous pouvez utiliser \l à la place de \n Afin de diviser l'étiquette dans des lignes justifiées de gauche .

graphviz label with left-justifed lines

52
marapet