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