安装

首先要安装graphviz-dot-mode模块,假设list-packages的网站国内无法訪问,改为手动下载graphviz-dot-model.el。放到~/.emacs.d/文件夹下。

然后改动init.el文件:

;; graphviz-dot-model
(load-file "~/.emacs.d/graphviz-dot-model.el")

ubutnu系统下要安装graphviz程序,

apt-get install graphviz

安装完毕。

重新启动Emacs, 创建.dot文件后就能够開始工作了。

有向图

record node

如今看一个简单的样例。dot语言编写:

digraph departments {
parts [shape=record, label = "<f0> 基础设施 | <f1> 数据仓库 | <f2> 数据挖掘" ];
}

diagraph表示这是一个有向图, departments是这个图的id, 注意这里名称不能用-符号连接,能够用_符号连接。

parts是一个node,它的形状是record,就是连续的格子表示一条记录,每一格是一个字段,label是显示的文字。<f0>这类标识了每一个字段。

C-c c后生成png文件:

Emacs 使用graphviz-dot-mode创建架构图-LMLPHP

edge

以下的样例是两个User node互相有相应的edge.

digraph colla_schema {
UserA -> UserB[label = "Liked", color = green];
UserB -> UserA[label = "Liked_By", color = red];
}

Emacs 使用graphviz-dot-mode创建架构图-LMLPHP

这个样例绘制了edge。并且有label和color 这些attributes,两条边分别代表了喜欢的主动与被动态。

方向

能够让图从左到右的顺序绘制。这在非常多架构图中都须要。
digraph colla_data {
rankdir=LR; id2 -> id1[label = "Liked", color = green];
id2 -> id3[label = "Liked", color = green];
id3 -> id1[label = "Liked", color = green];
id3 -> id4[label = "Liked", color = green];
id5 -> id1[label = "Liked", color = green];
id5 -> id2[label = "Liked", color = green];
id5 -> id4[label = "Liked", color = green];
}

效果例如以下:

Emacs 使用graphviz-dot-mode创建架构图-LMLPHP
05-19 23:20