graphviz python_你还在用visio吗,程序员请用plantuml与graphviz

当你需要画类图、流程图、状态图、活动图等等时,

第一想法估计是visio吧,因为大学时很多老师就是用它画UML的。

visio作为Microsoft Office软件的一个部分, Windows操作系统下运行的流程图软件,可以制作的图表范围十分广泛,保存格式也多种多样。

然而本文要介绍的是另外两个工具,程序员专属的流程图工具,plantuml和graphviz。

选择plantuml与graphviz的理由

visio或者其他成熟的UML制图软件,虽然可以所见即所得,但逃不过要收费。

更因为,graphviz设计了一套完整的脚本语言用于实现描述流程图关系和样式,并且提供python sdk让你在代码里实现各种各样的流程图。

是不是很酷?程序员,总得有几样特立独行的工具。

plantuml

PlantUml是一个支持快速绘制的开源项目,基于强graphviz图形库进行图片渲染,Intellij IDEA和eclipse都有其相关插件。个人而言,喜欢将所有工作相关的内容都放在idea内完成,例如Golang/Python/Sql,博客markdown等。

3fc75bda6866ba98fedd83ba1ac58a1b.png

Intellij plantuml插件

由于plantuml基于graphviz实现的,所以你需要去graphviz官网下载个Windows的安装包,并设置相关的环境变量才可以在intellij中使用。plantuml的所有元素,请见下图:

0d573b86cfc88d205e0ecb6859f9fdbe.png

你可以定义他们之间的连接关系,以及连接符的样式

cb479dc4150de63709a7691a9036c4bc.png

或者将他们组合包装起来

c63c58b0335e749ada94fd57ddfe3ce4.png

现在我们可以画个类图

01a0555597e0d5356aed4ec4fd6a3617.png

在类图上添加关系

830f8311c24256322a24e7224c84d2d2.png

最后,画个复杂点的状态图

4fdf9c8acdeacc5b088fdfd453d02ca6.png

如果你需要导出图片,可直接点按钮生成png/svg格式图片。

graphviz

graphviz设计了一套描述语言DOT,语法也挺简单的,具体如下图:

b96f7651ea6e163f1eed2cbe9ed9b4e9.png

中括号是用来描述节点属性的,相关属性有shape、color、label等,写个列子

digraph example3 {Node1 -> Node2Node2 -> Node3Node3 -> Node1Node1 [shape=doubleoctagon, label="Node1Web Node
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值