2012-10-27 6 views
25

Ich verwende Graphviz, um den AST einer Sprache zu visualisieren, die ich analysiere. Ich möchte den Quellcode (als Label) einfügen, aber graphviz richtet den Text innerhalb des Labels aus, was meinen Eindruck (und der Code ist einrucksempfindlich) beeinträchtigt. Hier ist ein Beispiel für das Problem, die zweite Zeile Code sollte nicht eingerückt werden:Graphviz - wie mache ich den Text in Etiketten linksbündig?

enter image description here

Dies ist der relevante Teil der erzeugten .dot-Datei:

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"; 

Antwort

31

Sie verwenden können \l statt von \n um divide the label into left-justified lines.

graphviz label with left-justifed lines

+0

Danke, das ist genau das, was ich wollte. – migimunz

+2

Ich bekomme das Ergebnis, dass es nur für zwei Zeilen funktioniert (ein Vorkommen von '\ l'). Kennt jemand dieses Problem? Für mich ist die dritte Zeile nicht ausgerichtet. – Tarrasch

+7

Alter Thread, ich realisiere, aber @Tarrasch: Hinzufügen eines '\ l 'am Ende der letzten Zeile wird es lösen, z. '" Zeile 1 \ lLine 3 \ lLine 3 \ l "' – JStroop

Verwandte Themen