使用graphviz时如何避免重叠边缘和节点?

时间:2010-09-04 14:18:55

标签: graphviz dot

作为标题,我想画一个ELF文件格式的图像.ELF标题有程序头表和节头表的偏移量,所以我想用两个箭头指针来指出关系。但是边缘重叠了节点(记录),即使我有overlap = false和splines = true set.I已经搜索了一段时间,但我的情况是箭头有点指向自身的一部分。

以下是我用来生成png文件的点文件。

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 个答案:

答案 0 :(得分:2)

一种可能的解决方案是在其中一条边上使用“east”节点端口,以便此边缘出现在记录的另一侧。您可以通过将:e附加到节点名称来执行此操作。例如:

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