Graphviz是一个开源软件,有源码,支持不同平台。linux系统下使用XDot程序显示dot格式的文件。
Graphviz显示图形时,可以选择不同的策略进行布局和布线显示图形。
Graphviz的官方网站(点击进入):Graphviz
| Graphviz - Graph Visualization Software。
Web版的Graphviz网站(点击进入):Webgraphviz。
有限状态自动机
代码如下:
digraph finite_state_machine { rankdir = LR; size = "8,5" node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8; node [shape = circle]; LR_0 -> LR_2 [ label = "SS(B)" ]; LR_0 -> LR_1 [ label = "SS(S)" ]; LR_1 -> LR_3 [ label = "S($end)" ]; LR_2 -> LR_6 [ label = "SS(b)" ]; LR_2 -> LR_5 [ label = "SS(a)" ]; LR_2 -> LR_4 [ label = "S(A)" ]; LR_5 -> LR_7 [ label = "S(b)" ]; LR_5 -> LR_5 [ label = "S(a)" ]; LR_6 -> LR_6 [ label = "S(b)" ]; LR_6 -> LR_5 [ label = "S(a)" ]; LR_7 -> LR_8 [ label = "S(b)" ]; LR_7 -> LR_5 [ label = "S(a)" ]; LR_8 -> LR_6 [ label = "S(b)" ]; LR_8 -> LR_5 [ label = "S(a)" ]; }
图样如下: