0

我试图徒劳地试图弄清楚如何在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

显示中心对齐边缘标签

4

1 回答 1

1

如果将每行末尾的 \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"];
}

给予:

在此处输入图像描述

于 2020-12-06T01:17:08.593 回答