Position node to the left and right of an edge in DOT in graphviz -


i wrote below dot generate diagram. in addition nodes defined , laid out, want place 1 node left , node right of edge marked l, should close l , in between node3 , node6.

i tried invisible nodes. new nodes either go first row or second row, want them in new row between first , second.

digraph g { ranksep=0.5 graph [rankdir = "tb"]; graph [splines=ortho];  node [fontsize = "8"]; edge [];  node0 [label = "{node0}" shape = "record" ];  node1 [label = "{node1}" shape = "record" ]; node2 [label = "{node2}" shape = "record" ]; node3 [label = "{node3}" shape = "record" ]; node4 [label = "{node4}" shape = "record" ];  node5 [label = "{node5}" shape = "record" ];  node6 [label = "{node6}" shape = "record" ]; node7 [label = "{node7}" shape = "record" ]; node8 [label = "{node8}" shape = "record" ]; node9 [label = "{node9}" shape = "record" ];  node10 [label = "{node10}" shape = "record" ]; node11 [label = "{node11}" shape = "record" ]; node12 [label = "{node12}" shape = "record" ];  {rank=same; node0 -> node1 -> node2 -> node3 -> node4}; {rank=same; node5 -> node6 -> node7 -> node8 -> node9}; {rank=same; node10 -> node11 -> node12}; node1 -> node5; node5 -> node3; node3 -> node6[label="l"]; node7 -> node10; node11 -> node8; node9 -> node12;  } 

how this? created "point" node new ones connect within rank. fiddled arrowheads give idea of possibilities there.

digraph g { ranksep=0.5 graph [rankdir = "tb"]; graph [splines=ortho];  node [fontsize = "8"]; edge [];  node0 [label = "{node0}" shape = "record" ];  node1 [label = "{node1}" shape = "record" ]; node2 [label = "{node2}" shape = "record" ]; node3 [label = "{node3}" shape = "record" ]; node4 [label = "{node4}" shape = "record" ];  node5 [label = "{node5}" shape = "record" ];  node6 [label = "{node6}" shape = "record" ]; node7 [label = "{node7}" shape = "record" ]; node8 [label = "{node8}" shape = "record" ]; node9 [label = "{node9}" shape = "record" ];  node10 [label = "{node10}" shape = "record" ]; node11 [label = "{node11}" shape = "record" ]; node12 [label = "{node12}" shape = "record" ];  nodenew1 [label="new1" shape=record]; nodenew2 [label="new2" shape=record];  {rank=same; node0 -> node1 -> node2 -> node3 -> node4}; {rank=same; node5 -> node6 -> node7 -> node8 -> node9}; {rank=same; node10 -> node11 -> node12}; node1 -> node5; node5 -> node3;  { rank = same; nodenew1 -> nodepoint -> nodenew2 [ arrowhead=none] }  nodepoint [shape=point] node3 -> nodepoint [label="l" arrowhead=none]; nodepoint -> node6[label="l"];  node7 -> node10; node11 -> node8; node9 -> node12;  } 

enter image description here


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -