Graphviz是一个可以根据简单的描述语句生成图形的工具。这是AT&T Research的开源项目,其官方网站为http://www.graphviz.org, 官方网站提供了一些样图(http://www.graphviz.org/Gallery.php)。Graphviz可以在多平台下使用,包括 Linux,Windows, Max OS等等,如果觉得在非Windows下用Visio麻烦,那么Graphviz绝对是一个不错的选择。Graphviz的主要特性如下:
- 支持多种输出格式:http://www.graphviz.org/doc/info/output.html
- 可定制图形属性:http://www.graphviz.org/doc/info/attrs.html
- 可定制结点形状:http://www.graphviz.org/doc/info/shapes.html
- 可定制箭头形式:http://www.graphviz.org/doc/info/arrows.html
- 自行控制图形颜色:http://www.graphviz.org/doc/info/colors.html
下载在这里(http://www.graphviz.org/Download.php),选择合适的系统和版本,在Ubuntu下也可以通过apt-get的方式安装(apt-get install graphviz),一般的源都有提供。安装完成之后可以通过控制台命令来进行图形生成。
示例
一、代码如下,保存成1.dot文件:
digraph G {
a->b[dir=both color="red"]
}
运行
dot 1.dot -Tpng -o 1.png
得到的图像1.png为:

二、代码如下,保存成2.dot文件:
digraph G {
rankdir=LR;
node [fontname="yahei.ttf"];
edge [fontname="yahei.ttf"];
"火星"->"金星"[label="宇宙飞船"];
"金星"->"水星"[label="步行"];
"水星"->"地球"[label="被流放"];
}
运行命令
dot 2.dot -Tpng -o 2.png
生成如下:

三、代码如下,保存成3.dot文件:
digraph G {
node [fontname="yahei.ttf"];
edge [fontname="yahei.ttf"];
meet [shape=box,label="邂逅"];
admire [shape=box,label="爱慕"];
chase [shape=diamond,label="追求表白"];
love [shape=box,label="爱恋"];
sad [shape=box,label="痛苦"];
persist [shape=diamond,label="修成正果"];
godlike [shape=box,label="成仙"];
meet->admire;
admire->chase;
chase->love[label="成功"];
chase->sad[label="失败"];
love->persist;
persist->sad[label="分开"];
persist->godlike[label="坚持"];
}
运行
dot 3.dot -Tpng -o 3.png
生成图形如下:
