2010-09-04 25 views
3

Comme titre, je veux dessiner une image de format de fichier ELF. L'en-tête ELF a l'offset de la table des en-têtes et des en-têtes de section, donc je veux utiliser deux pointeurs de flèches pour pointer la relation. (record) même après avoir chevauchement = false et splines = true set.I ont une recherche pendant un certain temps, mais ma situation est que les flèches pointent quelque peu vers des parties de lui-même.comment éviter le chevauchement des arêtes et des nœuds lors de l'utilisation de graphviz?

Voici le fichier de points que j'utilise pour générer le fichier 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"] 
} 

Répondre

2

Une solution possible est d'utiliser des ports de noeud de « est » sur l'un des bords, de sorte que ce bord apparaît sur le côté opposé du disque. Pour ce faire, ajoutez le :e au nom du noeud. Par exemple:

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

Merci, je vais essayer cela plus tard pour voir si cela fonctionne. – schemacs

+0

C'était utile! Merci! –