Graphviz 左对齐边缘标签文本

Graphviz left-justify edge label text

我试图徒劳地试图弄清楚如何在 graphviz 中左对齐我的边缘标签。如果有人有解决方案请帮助!

我创建了一个数据集来映射对象依赖关系——然后通过 iterrows 读入 graphviz。

这是我的 Python 有效的代码——但使用居中对齐的文本呈现我的边缘标签:

u = Digraph('unix',
            filename='unix.gv',
            node_attr={'color': 'lightblue', 
                       'style': 'filled', 
                       'fontname':'arial', 
                       'shape':'box'},
           edge_attr={'dir':'back',
                     'fontname':'arial',
                     'fontsize':'12'})

u.attr(size='20,20')

for index, row in d.iterrows():
    u.edge(row.var_target, row.var_source, label=str(row.bizlogic))

u

如果将每行末尾的 \n 替换为 \l(左对齐),您应该会得到所需的输出 (https://www.graphviz.org/doc/info/attrs.html#k:escString)。一个例子(直接 Graphviz):

digraph G {
    rankdir=LR;
    a [ label ="Graphs can\lbe fun\l"];
    b [ label ="left\lmiddle\nright\r  " ];
    a -> b [label ="Edges can\lalso\rbe fun\lI'm told\r"];
}

给予: