【问题标题】:graphviz: left/right align nodes instead of centering?graphviz:左/右对齐节点而不是居中?
【发布时间】:2010-01-21 16:32:08
【问题描述】:

有没有办法让 graphviz 左对齐或右对齐相同等级的节点,而不是居中?

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

【问题讨论】:

    标签: graphviz


    【解决方案1】:

    很高兴看到有人处理如此重要的数据。

    这是一种笨拙且令人不满意的方式:

    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“左对齐换行符”将文本左对齐。

    【讨论】:

    • 嗯。我不需要节点中的 text 左对齐(居中很好),我只希望节点左对齐,并且不喜欢恒定宽度。
    • 原因是因为图中的节点位置在所有情况下都是由它的中心计算的。它的标签尺寸也取决于非图形属性,如字体和/或字体系列。没有什么是直接图计算所知道的。
    猜你喜欢
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2023-03-16
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多