【树莓派5 测评】 +07.(Graphviz/Dot)绘图测试(zmj)
【树莓派5 测评】 +07.(Graphviz/Dot)绘图测试(zmj)DOT是开源工具包Graphviz上用来画图的一门脚本语言。通过布局引擎解析脚本得到图像,然后可以将图像导出为各种格式以满足需求。有了它,我们就可以很方便地通过编写脚本来画各种结构示意图和流程图。Graphviz的文件后缀名为.gv。每个.gv文件代表一个图,我们可以通过dot -Tpng example.dot -o example.png命令行方式生成图像,或者使用Graphviz提供的工具gvedit来编辑和运行脚本。对于不擅长绘图的我来讲,DOT语言和Graphviz工具真的是Very-Good。---------------------------以下为正文---------------------------1. 说明及安装Graphviz是贝尔实验室开发的一个开源的绘图工具包。它使用一个特定的DSL(领域特定语言): DOT作为脚本语言。使用布局引擎来解析DOT脚本,完成自动布局。支持丰富的导出格式,例如:PNG、JPG、PostScript、SVG、PDF等。此处不针对Dot语法和Graphviz工具做过多的阐述,对于初学者来讲重点关注官网文档即可。参考资料及安装如下://------官网:Graphviz
https://www.graphviz.org/
//------官网文档:Graphviz-Documentation★★★★★
https://www.graphviz.org/documentation/
//------源码:Graphviz-Gitlab
https://gitlab.com/graphviz/graphviz/
//------源码使用
git clone https://gitlab.com/graphviz/graphviz.git
注:重点内容/主要内容还是在文档Doc区域。
//------安装及依赖
//---graphviz
sudo apt install graphviz
//---实际需要多个依赖项
sudo apt install graphviz* libghc-graphviz* libgraph-writer-graphviz-perl libgraphviz* python-pygraphviz* python3-pygraphviz*
sudo apt install libghc-base-dev libghc-bytestring-dev libghc-colour-dev libghc-containers-dev libghc-directory-dev
//------文件转换指令(仅供参考)
dot -Tpng dot_demo.gv -o demo.png
或者
dot -Tpng dot_demo.gv> demo.png2. 测试示例绘制流程图测试示例//------DOT源码digraph G {
rankdir=TB;
node ;
// 智能手机品牌和型号
subgraph cluster_1 {
label="小米";
style=dashed;
MIphone ;
}
// 上市公司及其产品
Qualcomm ;
Samsung ;
SKHynix ;
LGDisplay ;
Sony ;
Murata ;
AACTechnologies ;
// 连接智能手机和组件供应商
MIphone -> Qualcomm ;
MIphone -> Samsung ;
MIphone -> SKHynix ;
MIphone -> LGDisplay ;
MIphone -> Sony ;
MIphone -> Murata ;
MIphone -> AACTechnologies ;
// 公司间的合作关系
Qualcomm -> Samsung ;
Qualcomm -> LGDisplay ;
Sony -> Samsung ;
Murata -> Qualcomm ;
}//------执行//------执行dot转换
dot -Tpng -o mi_phone.png mi_phone.dot
//------部分参数说明
这条指令的作用是将名为“mi_phone.dot”的DOT文件转换成一个名为“mi_phone.png”的PNG图像文件。下面是对这条指令中每个参数的详细说明:
1. `dot`: 这是Graphviz软件包中的工具,用于处理图形描述语言(DOT)文件。它可以用来生成各种类型的图表,如树形图、有向图、网络图等。
2. `-Tpng`: 这个参数指定了输出图像的格式,`-Tpng`表示输出图像将保存为PNG格式。Graphviz支持多种图像格式,包括PNG、SVG、PDF、JPEG等。
3. `-o`: 这个参数后面跟着的是输出文件的名称,`-o`后面指定的文件名是`mi_phone.png`,这意味着生成的图像将被保存为名为`mi_phone.png`的PNG文件。
4. `mi_phone.dot`: 这是输入文件的名称`mi_phone.dot`,也就是包含DOT语言描述的文本文件。//------结果3. 个人感受个人对 DOT & Graphviz 的感受如下:1. Graphviz工具
graphviz是一个开源软件包,dot和gvedit等工具都在该软件包中,或者可以说graphviz是处理该DOT语言文件的一个集成化的工具。
2. DOT语言
DOT是一种文本图形描述语言。DOT语言文件通常具有.gv或是.dot的文件扩展名。它借助Graphviz等工具完成图形渲染生成.png、.jpg、.pdf等多种类型的图片。
3. DOT & graphviz的局限性
Graphviz中有很多工具可以将DOT语言的文本渲染成为图片,但正如我们所见,我们在享受方便的编码的同时,将图片的布局等任务交给了这些工具,虽然这些工具有很不错的布局算法支持,但仍不一定能满足我们的要求,所以当对图片的布局有特殊要求时,DOT & graphviz就显示出了它的局限性。当然,我们可以再使用其他图片编辑器校正DOT语言生成的图片,但这种时候,DOT & graphviz的方便性或许早就消失殆尽了。
4. DOT & graphviz的适用群体
就我个人体会而言,DOT & graphviz适合这些群体使用:
a> 绘图**,像我一样的画图**并且喜欢操作键盘远胜于鼠标;
b> 技能**,没有熟练的掌握其他作图工具;
c> 布局需求低,对图片布局等没有特殊要求;
d> 流程图及结构图,要绘制的是流程图结构图之类的图而不是画小狗小猫山山水水。 //------end
页:
[1]