【发布时间】:2018-01-11 10:03:32
【问题描述】:
我有一个很长的线性(分支不多)流程图,它在 graphviz 中显示为太高而无法放在单个页面上,或者太宽(如果方向是从左到右)
有没有一种简单的方法可以让 graphviz 以从左到右,然后向下,然后从右到左,然后向下的方式布置图形? (我希望这能很好地解释它)。
类似这样的东西(在 visio 中绘制)
【问题讨论】:
我有一个很长的线性(分支不多)流程图,它在 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。
您可以从这里开始微调 - 框中的标签而不是数字、长边、颜色...
【讨论】: