使graphviz节点保持对齐

时间:2014-10-24 04:39:52

标签: alignment graphviz dot

我希望第二列(C和E)中的节点保持对齐,而不是居中。

digraph left {
    graph [rankdir="LR", splines=ortho];
    node [shape=record];

    l1 [label="A\l|B\l"];
    l2 [label="C\l|short\l"];
    l3 [label="E\l|long long text\l"];

    l1 -> l2;
    l1 -> l3;
}

enter image description here

我见过this question

但建议的节点使用恒定宽度的方法并不适合我。我希望它们具有不同的宽度,具体取决于相应的标签宽度。

1 个答案:

答案 0 :(得分:0)

似乎图中的节点位置在所有情况下都是从它的中心计算出来的。在没有其他实现之前,实现"对齐"的唯一方法看起来像是使用适合的宽度。

digraph left {
    graph [rankdir=LR splines=ortho]
    node [shape=record]

    l1 [label="A\l|B\l"]
    l2 [label="C\l|short\l" width=1.3]
    l3 [label="E\l|long long text\l"]

    l1 -> l2
    l1 -> l3
}

结果如下: enter image description here