dot
DOT 是一种文本图形描述语言。DOT 语言文件通常具有. gv 或是. dot 的文件扩展名。当然,在编写好. dot 或者. gv 的文件之后,需要有专门的程序处理这些文件并将其渲染成为图片,dot 就是其中一款程序,它可以将 DOT 语言描述的图形渲染成. png、.jpg、.pdf 等多种类型。
当然,作为工具,dot 本身是很原始的,就像 gcc 之于 c 代码,g++ 之于 cpp 代码一样,或许某些程序员会热衷于在终端使用这些工具,但也有很多人喜欢交互式的界面,所以就有了 gvedit 之类的工具,它提供交互式的窗口来使用 dot 等工具渲染 DOT 语言描述的图形。
graphviz
graphviz 是一个开源软件包,上述 dot 和 gvedit 等工具都在该软件包中。
所以,不妨简单的认为 DOT 是一门图形描述语言而 graphviz 是处理该语言文件的一个集成化的工具。
环境配置
参考: graphviz
windows
下载 exe 安装即可
ubuntu
sudo apt-get install graphviz
版本查看
windows
dot --version
输出信息如下
dot - graphviz version 9.0.0 (20230911.1827)
ubuntu
dot -version
输出信息如下
dot - graphviz version 2.43.0 (0)
libdir = "/usr/lib/x86_64-linux-gnu/graphviz"
Activated plugin library: libgvplugin_dot_layout.so.6
Using layout: dot:dot_layout
Activated plugin library: libgvplugin_core.so.6
Using render: dot:core
Using device: dot:dot:core
The plugin configuration file:
/usr/lib/x86_64-linux-gnu/graphviz/config6a
was successfully loaded.
render : cairo dot dot_json fig gd json json0 map mp pic pov ps svg tk visio vml vrml xdot xdot_json
layout : circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
textlayout : textlayout
device : canon cmap cmapx cmapx_np dot dot_json eps fig gd gd2 gif gv imap imap_np ismap jpe jpeg jpg json json0 mp pdf pic plain plain-ext png pov ps ps2 svg svgz tk vdx vml vmlz vrml wbmp webp x11 xdot xdot1.2 xdot1.4 xdot_json xlib
loadimage : (lib) eps gd gd2 gif jpe jpeg jpg png ps svg webp xbm
简单示例
新建 test.dot
文件并输入如下内容
扫描二维码关注公众号,回复:
16869134 查看本文章
digraph G
{
a -> b;
}
使用如下命令生成 png
图片
dot -Tpng -o test.png test.dot
生成的图片如下
vscode 插件
Graphviz (dot) language support for Visual Studio Code
参考
https://www.graphviz.org/pdf/dotguide.pdf
https://graphviz.org/gallery/
https://frapples.github.io/articles/2016-11-16-1f70.html
https://www.cnblogs.com/alenoscar/p/6064737.html