graphviz渲染的循环很混乱

时间:2016-04-28 01:36:10

标签: graphviz

我正在尝试生成一个具有单个状态和4个自我边缘的自动机。基本的点代码如下所示:

digraph G {
splines=true;
overlap=scalexy;
rankdir="BT";
T[label="0" shape=doublecircle]
T -> T [label="a:a"];
T -> T [label="b:b"]; 
T -> T [label="a:"];
T -> T [label="a:"];
}

输出非常混乱,尝试像minlen这样的参数没有帮助(它似乎没有改变任何东西)。我还希望边缘显示在顶部/垂直方向,但graphviz在一侧显示它们。我该如何解决?

当前输出:

enter image description here

我需要这样的东西:

enter image description here

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

使用rankdir="RL"并从东到西连接(T:e -> T:w),您可以非常接近您所寻找的内容:

digraph G {
  splines=true;
  overlap=scalexy;
  rankdir="RL";
  T[label="0" shape=doublecircle]
  T:e -> T:w [label="a:a"];
  T:e -> T:w [label="b:b"]; 
  T:e -> T:w [label="a:ε"];
  T:e -> T:w [label="b:ε"];
}

enter image description here