使用graphviz画图

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]
}


--------------------------------------------------------------------------------------------------------------------

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

这里面有一些例子:

使用DOT语言和Graphviz绘图(翻译)

使用 Graphviz 生成自动化系统图



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值