2011-08-09 21 views
5

Graphvizはこれと全く同じ状態遷移図を描画できますか?Graphvizはこのような状態遷移図を描画できますか?

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

===編集===

Marapetのコードが(参照:http://i.imgur.com/ElzSl.png)本当に近づきます。私は彼の答えを受け入れています。

+0

それは確かにオートマトン図を描画するための一般的なツールですが、それはその正確な絵を描くことができる場合、私はわかりません。まだ試しましたか? –

+0

これは、同じ画像を取得するのではなく、同じ種類のダイアグラム(同じレイアウト/外観の遷移条件や入力アクションなどをサポートしている)です。私はまだそれを試していない、私は誰かがすでにこれに似たSTDをレンダリングする方法を考え出しているのだろうかと思っていた。 – Erik

+0

はい、私はこれをいくつかの機会に行ってきました。それはかなり簡単です。 –

答えて

9

私は遷移条件のためのノードを作成したい:

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]; 
} 
+0

素晴らしい提案、ありがとう! – Erik

+0

私はそれが助けてうれしい! ...多分、_Opened_と_Closed_ノードにhtmlのようなラベルを使用して、太字のテキストを使用することができます。また、_transition condition_ノードにモノスペースフォントを使用することもできます。 – marapet

2

私の代わりにclose_doorのノードを作成するの矢印のラベルを使用します。

はオープ​​ン - >クローズ[ラベル= close_door];

関連する問題