Graphviz 中的左->右、下、右->左、下、左->右布局

Left->Right, Down, Right->Left, Down, Left->Right layout in Graphviz

我有一个很长的线性(分支不多)流程图,它在 graphviz 中显示为太高无法放在单个页面上,或者太宽(如果方向是从左到右)

有没有一种简单的方法让 graphviz 以从左到右,然后向下,然后从右到左,然后向下的方式布置图形? (我希望这解释得很好)。

类似这样的东西(在 visio 中绘制)

其实很容易得到你想要的:

digraph so 
{
    node[ shape = square ];
    { rank = same; 1 2 3 }
    { rank = same; 6 5 4 }
    { rank = same; 7 8 }

    1 -> 2 -> 3;
    3 -> 4;
    6 -> 5 -> 4 [ dir = back ];
    6 -> 7;
    7 -> 8;
}

产量

rank = same 确保此处定义的框并排放置;否则它们将垂直对齐。

由于框是按照定义的顺序从左到右绘制的,因此有必要按照上面为第二行所做的方式定义它们。

这也是中间行的箭头指向后方的原因 - 实际上边缘从 65 以及从 54 .

从这里您可以开始微调 - 框中的标签而不是数字、较长的边缘、颜色...