graphviz-如何创建';往返';流

graphviz-如何创建';往返';流,graphviz,dot,Graphviz,Dot,我正在尝试使用graphviz创建一个“往返”图。考虑到下面的结果,我的目标是在网络和COM之间有一个粉红色的正方形(请注意,从下面的图片中可以看出,它们被推到了网络的右边) COM必须是左侧的第一个节点 dot代码: digraph { rankdir = LR; graph [fontname = "helvetica" ]; node [fontname = "helvetica"]; edge [fontname = "helvetica"]; COM [shape = circ

我正在尝试使用graphviz创建一个“往返”图。考虑到下面的结果,我的目标是在网络和COM之间有一个粉红色的正方形(请注意,从下面的图片中可以看出,它们被推到了网络的右边)

  • COM必须是左侧的第一个节点
dot代码:

digraph { 
rankdir = LR;
graph [fontname = "helvetica" ];
node [fontname = "helvetica"];
edge [fontname = "helvetica"];

COM [shape = circle, fillcolor = yellow, style = filled];
NET [shape = circle, fillcolor = yellow, style = filled];

fn1 [shape = BOX, fillcolor = green, style = filled, label = "PORT006"];
clazz1 [shape = BOX, fillcolor = red, style = filled, label = "O"];
ddate1 [shape = BOX, fillcolor = red, style = filled, label = "21-Apr-13"];
status1 [shape = BOX, fillcolor = red, style = filled, label = "OJ3COM6M"];

clazz1exch [shape = BOX, fillcolor = green, style = filled, label = "G"];
ddate1exch [shape = BOX, fillcolor = green, style = filled, label = "13-May-13"];   
status1exch [shape = BOX, fillcolor = green, style = filled, label = "GJ3COM6M"];

fn2 [shape = BOX, fillcolor = pink, style = filled, label = "PORT005"];
rbd2 [shape = BOX, fillcolor = pink, style = filled, label = "O"];
ddate2 [shape = BOX, fillcolor = pink, style = filled, label = "29-Apr-13"];
fare2 [shape = BOX, fillcolor = pink, style = filled, label = "OJ3COM6M"];

{ rank=same; clazz1 -> clazz1exch; }
{ rank= same; ddate1 -> ddate1exch; }
{ rank=same; status1 -> status1exch; }

 COM -> fn1 -> clazz1exch -> ddate1exch -> status1exch -> NET;
 NET -> fn2 -> rbd2 -> ddate2 -> fare2 -> COM;

 }

如果您只需通过更改线条来反转边向后的方向(
dir=back

NET -> fn2 -> rbd2 -> ddate2 -> fare2 -> COM;
进入

你应该得到:


如果您只需通过更改线条来反转边向后的方向(
dir=back

NET -> fn2 -> rbd2 -> ddate2 -> fare2 -> COM;
进入

你应该得到: