Может ли Graphviz визуализировать диаграммы переходов состояний следующим образом? - PullRequest
5 голосов
/ 09 августа 2011

Может ли Graphviz отображать диаграммы переходов состояний точно так же, как это?

http://upload.wikimedia.org/wikipedia/commons/c/cf/Finite_state_machine_example_with_comments.svg

=== Редактировать ===

Код Marapet очень близок (см .: http://i.imgur.com/ElzSl.png).Я принимаю его ответ.

Ответы [ 2 ]

9 голосов
/ 09 августа 2011

Я бы создал узлы для условий перехода :

digraph g{
  Opened[label="1\nOpened\nE: open door"];
  Closed[label="2\nClosed\nE: closed door"];
  node[shape=plaintext];

  Opened -> close_door[arrowhead=none];
  close_door -> Closed;
  Opened -> open_door[dir=back];
  open_door -> Closed[arrowhead=none];
}
2 голосов
/ 15 апреля 2014

Я бы использовал метку на стрелке вместо создания узла для close_door:

Открыт -> Закрыт [label = close_door];

...