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"];
}
给予:
我试图徒劳地试图弄清楚如何在 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"];
}
给予: