# 用 Graphviz 绘制关系图

一种用代码绘制关系图的方式。

# 背景

Graphviz 是个好东西,可用来绘制关系图。与 Visio 有一个本质上的差异: Graphviz 生成图是自动布局的,不需要手动调整元素的位置。当一个关系网络比较复杂时,用自动布局可实现最小化连线交叉

# 安装

发现一个很好用的在线编辑器:[GraphvizOnline](http://dreampuf.github.io/GraphvizOnline/#digraph graph_name { %20%20A->B[label%3D"关系"]%20 }) 支持即时渲染,导出 .png.svg 等格式。

macOS 安装:$ brew install graphviz

# 作图流程

  1. 新建 xxx.dot
  2. 编辑 .dot 文档
  3. 切换到所在目录,导出:$ dot xxx.dot -T png -o xxx.png

# 简易语法

graph graph_name {
  A--B[label="连接关系"]
}

![](https://wiki-media-1253965369.cos.ap-guangzhou.myqcloud.com/img/Graphviz/屏幕快照%202019-02-01%20 下午 2.02.44.png)

# 总结

自动布局是 Graphviz 的精髓。类比我之前用 Markdown 语法直接生成幻灯片,这些工具把内容标准化,让人能够更加注重于内容,而非形式与布局

# 参考与致谢

文章作者:Power Lin
原文地址:https://wiki-power.com
版权声明:文章采用 CC BY-NC-SA 4.0 协议,转载请注明出处。