最近在写软件工程作业,绘制流程图真心讨厌,尤其Mac自己没配置单独鼠标,拖拽实在太麻烦,包括在线条上添加字,控制箭头指向==真蛋疼!真蛋疼!真蛋疼!重要的事说三遍==。所以就找一种用纯代码的方式画流程图(=。=程序员逻辑真可怕,记得当时学latex也是因为想纯代码写文档==,回正题。。。
Graphviz 下载
没什么好说的,谷歌欢迎您。。拒绝百度
dot 语言基础
无向图
graph hello_test {
A -- B
B -- C
A -- C
}
生成图像:
$ dot example1.dot –Tpng –o example1.png
可以自行生成上述代码所产生的图片观看效果
有向图
digraph example2 {
A -> B
B -> C
A -> C
}
可以自行生成上述代码所产生的图片观看效果
也可以轻松控制图中每个节点的形状、颜色和标签。具体方法是列出每个节点的名称,然后将选项放在名称后面的括号中.
digraph example3 {
Server1 -> Server2
Server2 -> Server3
Server3 -> Server1
Server1 [shape=box, label="Server1\nWeb Server", fillcolor="#ABACBA", style=filled]
Server2 [shape=triangle, label="Server2\nApp Server", fillcolor="#DDBCBC", style=filled]
Server3 [shape=circle, label="Server3\nDatabase Server", fillcolor="#FFAA22",style=filled]
}
当然还有更多的控制图的生成方式,可以去官网看文档==
软工的控制流程图✌️,用graphviz画出来3分钟不到,用Onimgraffle画了至少15分钟。。。
digraph example3 {
node [shape=circle]
1 -> 2
2 -> 3
3 -> 4
4 -> 3
4 -> 5
5 -> 6
6 -> 7
7 -> 9
9 -> 3
6 -> 8
8 -> 9
3 -> 10
10 -> 11
10 -> 12
}