我有一个很长的线性(分支不多)流程图,在 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
确保此处定义的框并排放置;否则它们将垂直对齐。
由于框是按照定义的顺序从左到右绘制的,因此有必要按照上面第二行的方式定义它们。
这也是中间行箭头向后指向的原因 - 实际上边缘从 6
到 5
以及从 5
> 到 4
。
从这里您可以开始微调 - 框中的标签而不是数字、较长的边缘、颜色...
关于graphviz - Graphviz 中的左->右、下、右->左、下、左->右布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48204320/