graphviz和dot的关系
graphviz 是 graph visualization software的缩写,是由AT&T开源出来的软件,它使用dot语言来绘制图形。所以dot是graphviz下面的一个非常得力的工具。
安装graphviz
在官网上下载软件以后,在windowss上面配置环境变量即可使用
使用dot命令绘制图形的一般格式如下:
dot example.dot -Tpng -o example.png
如何编写dot文件来绘制图形
Dot脚本语言语法整理 这篇博客写的很好
经常使用的节点和边的一些属性
shape 设置节点的形状box 为方的,circle为圆 介绍各种shape
label 可以设置节点的标签,也可以设置遍的标签,也就是里面呈现的文字
taillabel 和 headlabel 可以设置放在边的头和尾的标签
dir 设置边的箭头指向
color 设置边和节点的颜色
fontcolor 设置边和节点中字体颜色
fontsize 设置边和节点中字体大小
fillcolor 设置节点和边的填充颜色
rankdir 设置图的布局 rankdir=TB是从上到下绘图,rankdir=LR是设置从左到右绘图
rank 可以约束不同节点的关系 {rank=same;node1;node2...}可以把节点放在同一层
xlabel 点放置完以后再放置标签,放置标签破坏图形结构,可以在一定程度上解决标签一直在右边的问题
--------------------------------------------------------------------------------------------------------------------
使用技巧
使用node[shape=box]可以设置全局的node均为box
使用edge可以设置全局的边
定义节点的顺序不同,画图的效果是不一样的
--------------------------------------------------------------------------------------------------------------------
我的例子:
digraph pic1{
sex -> sex_female[label="f,<1>"]
sex -> pclass[label="m"]
{rank=same;sex_female;pclass}
pclass -> pclass_1[xlabel="1,<2>", labeljust="l"]
pclass -> embarked[label="2"]
pclass -> pclass_3[label="3,<3>"]
{rank=same; pclass_1;embarked;pclass_3; ranksep=2}
embarked -> embarked_s[xlabel="s,<2>"]
embarked -> embarked_c[label="c,<2>"]
{rank=same;embarked_s;embarked_c}
sex_female[label="1"]
pclass_1[label="0"]
pclass_3[label="0"]
embarked_s[label="0"]
embarked_c[label="1"]
sex[shape=box]
pclass[shape=box]
embarked[shape=box]
}

--------------------------------------------------------------------------------------------------------------------
详细介绍各种属性的官网: 官网介绍的各种属性