使用graphviz时如何避免边和节点重叠?
作为标题,我想画一个ELF文件格式的图像。ELF标题有程序标题表和节标题表的偏移量,所以我想使用两个箭头指针来指出关系。但即使在设置了overlap=false和splines=true之后,边缘也与节点(记录)重叠。我搜索了一会儿,但我的情况是,箭头在某种程度上指向了它自身的一部分 下面是我用来生成png文件的点文件使用graphviz时如何避免边和节点重叠?,graphviz,dot,Graphviz,Dot,作为标题,我想画一个ELF文件格式的图像。ELF标题有程序标题表和节标题表的偏移量,所以我想使用两个箭头指针来指出关系。但即使在设置了overlap=false和splines=true之后,边缘也与节点(记录)重叠。我搜索了一会儿,但我的情况是,箭头在某种程度上指向了它自身的一部分 下面是我用来生成png文件的点文件 digraph g { //margin="1" overlap='scale' graph [rankdir="LR"] "ELF File" [ label="<f0
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"]
}
有向图g{
//margin=“1”
重叠比例'
图[rankdir=“LR”]
“ELF文件”[
label=“ELF Header\n e_shoff=0x118 |程序头表|.文本|.数据|.rodata |.注释|.shstrtab |.symtab |.rel.text |节表”
shape=“记录”
];
“ELF文件”:f0->“ELF文件”:f1[label=“e_phoffset”]
“ELF文件”:f0->“ELF文件”:f7[label=“e_shoff”]
}
一种可能的解决方案是在其中一条边上使用“east”节点端口,以便该边显示在记录的另一侧。您可以通过在节点名称后面附加:e
来完成此操作。例如:
"ELF File":f0:e -> "ELF File":f7:e [label="e_shoff"]
这很有帮助!谢谢