2017-08-18 10 views
2

図を生成するために以下のDOTを書きました。定義され、レイアウトされたノードに加えて、Lとマークされたエッジの左側に1つのノードを配置したいと思います。Lに近く、NODE3とNODE6の間に配置する必要があります。graphvizのDOTのエッジの左右にノードを配置

私はいくつかの目に見えないノードを試しました。新しいノードは1行目または2行目に移動しますが、1行目と2行目の間で新しい行に移動します。

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; 

} 

答えて

0

どのようにこのような何か?私は彼らのランク内で接続する新しいノードのための "ポイント"ノードを作成しました。また、そこに可能性のアイデアを与えるために矢頭でフィニッシュ。

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

+1

おかげTomServoクイックレスポンスに加え、作業の答えの両方のために。これは今私が探しているものを解決します。私はこのダイアグラムをさらに展開する必要があります。さらに問題が発生した場合、私は戻ってきます。あなたは私の最初のつまずきを取り除いた。 – sof977

関連する問題