【发布时间】:2011-02-04 17:37:28
【问题描述】:
我用图形和更多细节更新了问题。感谢 marapet,如果没有 hack,我无法生成所需的图像结果。
为什么这段代码会产生这个图表?
digraph {
rankdir = TB;
1 -> 2 -> 3 -> 1;
}
如何让 graphviz/dot 产生这样的顺时针方向?
更新
这是我要生成的最终图表(afaik 这样逻辑上正确)
digraph {
rankdir = TB
start -> 1
1 -> 2 -> 3 -> 1
3 -> end
3 -> increment
end -> product
{rank = same; 2; 3; increment}
{rank = same; end; product}
}
产生这个结果
虽然我想要这个
谢谢
【问题讨论】:
-
1 -> 2 -> 3 -> 4 -> 1; {rank = same; 2; 4}也会产生一个逆时针图,虽然它很可能是顺时针的 -
您是否正在寻找有关如何以“正确”方式执行此操作的答案?我 99% 确定没有“魔法”指令会自动产生此输出,并且任何其他可能实现所需输出(不可见节点等)的方法都将比反转边缘方向更“hackier”。 Graphviz 的强项是自动布局图,从左到右布置节点对我来说似乎是正确的。如果您需要手动对其进行微调,其他工具可能会更有用且更快地实现结果。
-
那么我不会再寻找“正确”的方式了 :) 我只是想,因为一切都是逆时针排列的(afaik),所以必须有一个设置来扭转它。但是如果没有,我可以恢复边缘方向。
-
另一个相关的 SO 问题stackoverflow.com/questions/1510784/…