安装
首先要安装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文件:
edge
以下的样例是两个User node互相有相应的edge.
digraph colla_schema {
UserA -> UserB[label = "Liked", color = green];
UserB -> UserA[label = "Liked_By", color = red];
}
这个样例绘制了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];
}
效果例如以下: