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

安装

首先要安装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];
}

效果例如以下:






原文地址:https://www.cnblogs.com/brucemengbm/p/7364405.html