i am trying to graph a doubly linked circular list in .dot language but it does not display as i want. Both of the circular edges are under the nodes but i want 1 of them above
this is what i want: expected result
but i get this instead: given result
thank you
Main change was to add a port position (https://graphviz.org/docs/attr-types/portPos/) to the head & tail of the edge. Also removed some unneeded bits.
digraph {
node[shape=record];
graph[pencolor=transparent];
rankdir=LR;
p1[label="{<prev>|<data> 12|<next>}"];
p2[label="{<prev>|<data> 12|<next>}"];
p3[label="{<prev>|<data> 12|<next>}"];
p1:next -> p2:prev;
p2:next -> p3:prev;
p2:prev -> p1:next;
p3:prev -> p2:next;
p1:prev:n -> p3:data:n;
// edge[tailclip=false,dir="forward" splines="compound" constraint= "false"];
p3:next -> p1:prev;
}