应用介绍
Graphviz 把文字描述的关系画成图。你用它的 DOT 语言写清楚有哪些节点、谁指向谁,剩下的位置怎么摆、线怎么绕开、图往哪个方向长,全部由布局引擎自己算,不用像在画图软件里那样一个框一个框地拖。
因为输入是纯文本,图就可以跟代码放在一起进版本库,改一行重新跑一次命令就得到新图。依赖关系、状态机、调用链、流程这类节点一多就难手绘的东西,交给它最合适。它没有主界面,是一组命令行程序,也常被别的工具当作底层的绘图引擎调用。
DOT 描述语言:用几行文本定义节点和边,顺带指定形状、颜色、字体和分组,图的样子由属性控制,不用手动排版。
多种布局引擎:dot 走分层有向图,neato 和 fdp 走弹簧模型的无向布局,circo 排环形,twopi 排放射状,同一份数据换个引擎就是另一种呈现。
多种输出格式:可以输出 PNG、SVG、PDF、PostScript 等,SVG 里还能带上链接和提示文字,直接嵌进网页。
命令行调用:一条 dot -Tpng 就能出图,很容易塞进构建脚本、文档生成流程或者 Makefile 里,让图跟着源码一起自动更新。
被广泛集成:不少分析和文档工具(调用图、类图、依赖图之类)都是先生成 DOT 文件再交给 Graphviz 渲染,装上它这些工具的出图能力才完整。
因为输入是纯文本,图就可以跟代码放在一起进版本库,改一行重新跑一次命令就得到新图。依赖关系、状态机、调用链、流程这类节点一多就难手绘的东西,交给它最合适。它没有主界面,是一组命令行程序,也常被别的工具当作底层的绘图引擎调用。
软件功能
DOT 描述语言:用几行文本定义节点和边,顺带指定形状、颜色、字体和分组,图的样子由属性控制,不用手动排版。
多种布局引擎:dot 走分层有向图,neato 和 fdp 走弹簧模型的无向布局,circo 排环形,twopi 排放射状,同一份数据换个引擎就是另一种呈现。
多种输出格式:可以输出 PNG、SVG、PDF、PostScript 等,SVG 里还能带上链接和提示文字,直接嵌进网页。
命令行调用:一条 dot -Tpng 就能出图,很容易塞进构建脚本、文档生成流程或者 Makefile 里,让图跟着源码一起自动更新。
被广泛集成:不少分析和文档工具(调用图、类图、依赖图之类)都是先生成 DOT 文件再交给 Graphviz 渲染,装上它这些工具的出图能力才完整。


