2010-01-21 42 views
18

有没有什么办法可以让graphviz左对齐或右对齐同级别的节点,而不是居中?graphviz:左/右对齐节点而不是居中?

alt text

digraph h { 
    rankdir=LR; 

    node [shape=record,height=.08,fontsize=11]; 

    elk[label="elk|I am an American Elk"]; 

    buffalo[label="buffalo|Just a buffalo|everywhere I go|people know the part I'm playing"]; 

    cow[label="cow|moo"]; 

    moose[label="Bullwinkle J. Moose|Hey Rocky, watch me pull a rabbit out of my hat!"]; 

    zoo [label="zoo|<p0>|<p1>|<p2>|<p3>"]; 

    zoo:p0 -> elk; 
    zoo:p1 -> cow; 
    zoo:p2 -> moose; 
    zoo:p3 -> buffalo; 
    } 

回答

25

很高兴看到有人用这样重大的数据工作。

这里有一个kludgey和不令人满意的方式:

digraph h { 
    rankdir=LR; 
    node [shape=record,height=.08,fontsize=11]; 
    zoo [label="zoo|<p0>|<p1>|<p2>|<p3>"]; 

    node [width=3.5]; 
    elk[label="elk\l|I am an American Elk\l",]; 
    buffalo[label="buffalo\l|Just a buffalo\l|everywhere I go\l|people know the part I'm playing\l"]; 
    cow[label="cow\l|moo\l"]; 
    moose[label="Bullwinkle J. Moose\l|Hey Rocky, watch me pull a rabbit out of my hat!\l"]; 

    zoo:p0->elk; zoo:p1 -> cow; zoo:p2 -> moose; zoo:p3 -> buffalo; 
} 

给每个箱子在等级相同的(经验确定)的宽度,然后左对齐用怪异\l“左对齐断行”的文字。

+4

嗯。我不需要在节点中左对齐的*文本(居中很好),我只是希望节点左对齐,并且不喜欢常量宽度。 – 2010-01-21 19:55:29

+6

(但为'\ l'提示+1) – 2010-01-21 19:57:26

+3

肯定为'\ l'提示+1! – 2011-11-01 22:01:09