如何在org-mode中使用graphviz画流程图

缘起
理论上我在记录笔记中尽量使用全文字来记录,尽量不用图片,但有时候,文字在表达一些图表内容时,还是存在一定有困难,一个简单的图表用很多文字表达,而且准备性还有困难。在网上看视频时看到用graphviz来画图的演示,感觉能一定程序上满足我的需求。
关于graphviz
http://www.graphviz.org/ graphviz可以画图的类型:http://www.graphviz.org/gallery/
安装
在安装org-roam v1版本时,安装了graphviz,下载地址:https://graphviz.org/download/ 安装完成后,确认 dot.exe
在环境变量的 path
在配置中加入:
(org-babel-do-load-languages
'org-babel-load-languages
'(;; other Babel languages
(dot . t)
))
使用graphviz画图
hello world图
#+begin_src dot :file images\temp_graphviz.svg :cmdline -Kdot -Tsvg
digraph G {
Hello->World
}
#+end_src
png格式
#+NAME: A dot graph demo png format
#+begin_src dot :file images\temp_graphviz.png :cmdline -Kdot -Tpng
digraph G {
fontname="Helvetica,Arial,sans-serif"
node [fontname="思源黑体CN Normal"]
edge [fontname="思源黑体CN Normal"]
subgraph cluster_0 {
style=filled;
color=lightgrey;
node [style=filled,color=white];
a0 -> a1 -> a2 -> a3;
label = "process #1";
}
subgraph cluster_1 {
node [style=filled];
b0 -> b1 -> b2 -> b3;
label = "process #2";
color=blue
}
开始 -> a0;
开始 -> b0;
a1 -> b3;
b2 -> a3;
a3 -> a0;
a3 -> end;
b3 -> end;
开始 [shape=Mdiamond];
end [shape=Msquare];
}
#+end_src