快速画好一份程序流程图
工作中完成一个项目之后往往会花一些时间编写文档,画程序流程图。这样的好处是方便交接项目,后续也能够快速回忆。画流程图的软件有很多, 比如常用的Process,百度脑图,缺点是流程图只能以图片保存放到代码目录中,后续更改很麻烦。
这里参考Buildroot 开源库中使用的工具Graphviz ,根据相应的规则自动生成流程图。
Graphviz简介
Graphviz(英文: Graph Visualization Software的缩写) 是一个由AT&T开发的图形绘制工具,用于绘制DOT语言脚本描述的图形。支持多种格式输出,在windows、Linux、Mac上都可以顺利运行。
安装
Ubuntu或Debian下安装很简单
sudo apt-get install graphviz
使用示例
Dot是开源工具包Graphviz上用来画图的一门脚本语言。通过布局引擎解析脚本得到图像,然后可以将图像导出为各种格式以满足需求。有了它,我们就可以很方便地通过编写脚本来画各种结构示意图和流程图。
第一步: 编写以dot为后缀的文件hello.dot
digraph {hello -> world;
}
第二步: 使用dot命令编译
dot hello.dot -T png -o hello.png
完整的命令为:
<cmd> <inputfile> -T <format> -o <outputfile>
-T png 表示输出格式为png,可以设置的格式有pdf、svg、gif、dia等格式
第三步: 最终结果
实际过程中画流程图往往根据项目的实际情况, 这里提供一些基础的例子供参考.
例子1 : 简单有向图
digraph graphname{ // 定义有向图,graphname表示图的名字a -> b; //定义一个有向边,它从起始指向结束节点b -> c;a -> c;
}
编译生成
例子2 : 带标签的简单有向图
digraph graphname{T [label="Teacher"] // node TP [label="Pupil"] // node PT->P [label="Instructions", fontcolor=darkgreen] // edge T->P
}
编译生成
例子3:同样的图,不同的形状和颜色
digraph graphname {T [label="Teacher" color=Blue, fontcolor=Red, fontsize=24, shape=box] // node TP [label="Pupil" color=Blue, fontcolor=Red, fontsize=24, shape=box] // node PT->P [label="Instructions", fontcolor=darkgreen] // edge T->P
}
编译生成
例子4 : 定制模板
单独地去定义每一个节点其实很浪费时间的,这个模板会让你事半功倍。
digraph hierarchy {nodesep=1.0 // increases the separation between nodesnode [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colouredge [color=Blue, style=dashed] //All the lines look like thisHeadteacher->{Deputy1 Deputy2 BusinessManager}Deputy1->{Teacher1 Teacher2}BusinessManager->ITManager{rank=same;ITManager Teacher1 Teacher2} // Put them on the same level
}
编译生成
关注程序手艺人,订阅号中输入流程图模板关键字,获取更多的参考模板。
快速画好一份程序流程图相关推荐
- 如何快速画好一张程序流程图
工作中完成一个项目之后会花一些时间去编辑写文档,花程序流程图,这样的好处是方便交接项目,后续也能够快速会议,我们在平时绘制论坛的软件也有很多,经常使用的是在线画图,下面是利用该软件讲述程序流程图画法介 ...
- 二次函数图像如何用计算机绘制,如何快速画二次函数图像
二次函数是中学时代必学的一类基本初等函数,是在学习了一次函数的基础上再进行研究的,在学习时要学会掌握画函数图像的方法,之前都是借助直尺来画函数图像的,现在可以借助专业的绘图工具来完成,下面就一起来学习 ...
- Cadence快速画原理图封装(适合复杂器件)
Cadence快速画原理图封装库 背景:当我们碰到管脚数很多的器件,一个个手敲定义,太慢了.Cadence就有一个很方便强大的功能,可以结合excel进行对其管脚参数定义进行编辑.(快的地方:芯片手册 ...
- Matlab中用Simulink快速画Bode图及 .m 文件画Bode图
Matlab中用Simulink快速画Bode图及 .m 文件画Bode图 Simulink画Bode图 .m 文件画Bode图 Simulink画Bode图 一万年没用matlab画过Bode图了, ...
- 数学老师必看,教您快速画椭圆
大家应该都对椭圆不陌生,它在数学中占有一定的比重,是中学时代必学的圆锥曲线之一,也是历来考试的重点和难点.在黑板上画椭圆有点困难,我们可以借助专业的课件制作工具快速画椭圆,如果你还不知道怎么操作,下面 ...
- 仅仅有人物没背景的图片怎么弄_只会画人物不会画背景?这3种方法教你快速画背景!...
原标题:只会画人物不会画背景?这3种方法教你快速画背景! 很多同学只会画人物不会画背景,于是就想到了一些骚操作-- 1.万年"留白"党:不会画干脆就不画,一片白板走天下! 喂喂喂, ...
- 快速画正弦波、方波、三角波——Visio制图总结(六)
本文给出Visio快速画出正弦波.方波.三角波的方法. 1.方波.正弦波 生成方波.正弦波需要利用Visio信号波形模块. 所在路径:更多形状>工程>电气工程>模拟和数字逻辑> ...
- 一个好用的在线思维导图工具,拥有灵感快速画出精品思维导图
一般情况下绘制思维导图有两种方法,一种是手绘,另一中是使用思维导图工具, 在线思维导图模板优点是不用下载,在迅捷思维导图中选择好模板便可直接打开使用再次编辑,不用考虑格式和软件安装的问题. 工具: 迅 ...
- C语言快速画直线和画圆的代码
具体算法的原理我没有深入研究,总之用来快速画直线和画圆是目前很成熟的算法,拿来就用了^-^ 整个算法过程中只用了整数加减和移位,非常适用于运算能力有限的单片机系统. 以下代码只需要把SetPixel替 ...
最新文章
- mysql数据库三级分类_5.在 MySQL数据库中,以下数据库对象与数据库三级模式对应关系正确的是?...
- 偷懒的inline-block解决方法
- ie6下padding bug
- 简单讲解一下负载均衡、反向代理模式的优点、缺点
- 如何击败Python的问题
- 【CodeForces - 474D】Flowers (线性dp)
- 猛料一顿狂堆!华为P40 Pro详细参数被曝光
- Spring知识点总结-3
- python怎么关闭csv_Python2.7.1:如何打开、编辑和关闭CSV fi
- 腾讯的天天快报凭什么想挑战今日头条?
- chrome 代理设置
- python爬虫实战---网易云音乐评论抓取
- PS特效动作制作合成创意报纸人物效果
- 【docker】docker容器搭建分布式LNMP,附错误及解决方案
- 各种常见3D渲染软件比较
- 马斯克究竟从特斯拉赚了多少钱?道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
- 一个简单的字符串,为什么 Redis 要设计的如此特别
- C语言 课程设计——职工信息管理系统
- Python项目实战:开发PetStore宠物商店项目-关东升-专题视频课程
- Andriod Studio之app的编译
热门文章
- FPGA 历险记——xilinx MIG 使用(一)
- 【网络教程】Ubuntu20如何修改ip地址网关DNS
- 计算机挂载磁盘阵列,电脑中进行磁盘阵列RAID配置的详细步骤
- .Net Core架构
- 索尼电动汽车 - 无人驾驶EV界“制造会跑的智能手机”
- oracle 数据字典画报,Oracle 数据字典查询
- [展览人周刊]华展云20170731期
- HQChart使用教程67 - 鼠标点击K线柱子监听事件
- [Python练习-文件] 多目录下的字幕vtt转srt
- windows防火墙是干什么的_windows的防火墙