使graphviz节点保持对齐

Mas*_*oor 5 dot alignment graphviz

我希望第二列(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;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我见过这个问题.

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

小智 2

似乎图中的节点位置在所有情况下都是从其中心计算的。在没有其他实现之前,实现“对齐”外观的唯一方法是使用合适的宽度。

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
}
Run Code Online (Sandbox Code Playgroud)

结果是这样的: 在此输入图像描述