代码改变世界

用Graphviz画结构图

2008-06-23 18:13  清炒白菜  阅读(4800)  评论(0)    收藏  举报
GraphViz是一个可以将简单语法描述的结构转化为图形的工具。它是AT&T Research搞出来的开源项目,在官方主页上你可以看到一些样图

Graphviz在各种平台下均可使用,首先到这里下载你所需要的版本,安装完之后会自动将命令添加到路径中去。

然后编辑一个简单的文本文件

digraph G {



begin -> end



}



将它保存为a.dot,然后运行dot a.dot -Tpng -o a.png,就生成了下面的图形

Graphviz示例

这里的文本文件是按照DOT的语法来编写的,具体可以参考文档说明。

对于中文的支持也没有问题,只是需要指明字体,可用的字体列表就是windows\fonts下的那些。比如:

digraph {



node [ fontname="simhei.ttf" ];



edge [ fontname="simsun.ttc" ];







“南京” -> “长乐”[label="飞机"];



“长乐” -> “福州”[label="机场大巴"];



“福州” -> “莆田”[label="汽车"];



}



就可以生成

Graphviz中文显示

dot默认采用utf-8编码,所以你必须将文件保存成utf-8编码。

dot只是graphviz组件中的一个,用于生成有向图。



Graphviz的主页是http://www.graphviz.org/,他是AT&T Labs-Research开发的图形绘制工具, 他可以很方便的用来绘制结构化的图形网络,支持多种格式输出, 生成图片的质量和速度都不错。

Graphviz本身是开源的产品,下载可以到 这里 ,以及他的 演示界面

Graphviz支持的输出格式非常多 , 可以到这里查阅.

具体绘制过程中,你可以自行控制图形颜色.具体效果从这里查看.

可利用的资源还包括:

可定制的图属性介绍

可定制的结点形状

可定制的箭头形状

最后是相关的FAQ,大多数问题你都可以找到从这里答案.