Graphviz:有没有办法强制节点到底?

时间:2009-09-18 19:47:20

标签: attributes constraints graph graphviz

我正在构建一个CFG(无上下文语法),我希望退出节点始终位于图的底部。有时它会自然发生,有时却不会发生。

示例:

digraph G {
  0;
  1;
  4;
  5;
  7;
  8;
  0 -> 4;
  5 -> 7;
  7 -> 8;
  7 -> 1;
  8 -> 5;
  4 -> 7;
}

绘制(使用点):

alt text

节点1是我的退出节点,我希望它位于底部。建议?

2 个答案:

答案 0 :(得分:10)

使用子图的等级规范。在这种情况下,接收器应该在底部,最大将使其与5相同:

digraph G {
  0;
  { rank = sink; 1; }
  5;
  4;
  7;
  8;
  0 -> 4;
  5 -> 7;
  7 -> 8;
  7 -> 1;
  8 -> 5;
  4 -> 7;
}

答案 1 :(得分:-2)

DOT中尝试选项“-y”

-y          - Invert y coordinate in output