当使用Graphviz时,如何避免边缘和节点重叠?

3
作为标题所述,我想画一个ELF文件格式的图像。ELF头具有程序头表和节头表的偏移量,因此我想使用两个箭头指针来指出它们之间的关系。但是即使我将overlap=false和splines=true设置为false,边缘仍然重叠在节点(记录)上。我已经搜索了一段时间,但我的情况是箭头有点指向自己的部分。
以下是我用来生成png文件的dot文件。
digraph g {
//margin="1"
overlap='scale'
graph [rankdir="LR"]

"ELF File" [
label="<f0> ELF Header\n e_shoff=0x118| <f1> Program Headers Table | <f2> .text | <f3> .data | <f4> .rodata| <f5> .comment | <f6> .shstrtab | <f8> .symtab | <f9> .rel.text | <f7> Section Table"
shape="record"
];

"ELF File":f0 -> "ELF File":f1 [label="e_phoffset"]
"ELF File":f0 -> "ELF File":f7 [label="e_shoff"]
}
1个回答

2

一种可能的解决方案是在其中一个边缘上使用“east”节点端口,使得该边缘出现在记录的相反侧面。您可以通过将:e附加到节点名称来实现这一点。例如:

"ELF File":f0:e -> "ELF File":f7:e [label="e_shoff"]

这很有帮助!谢谢! - Russia Must Remove Putin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接