004-画图神器-graphviz
1 安装及基本使用
1) 下载安装
可以下载安装版进行安装或者解压版直接使用
2) 添加系统path
为了能够在dos中使用命令, 需要添加环境变量
默认安装路径为 C:\Program Files (x86)\Graphviz2.38\bin
添加至系统环境变量
3) 测试能够正常使用
在dos中输入
dot -version
4) 打开软件
由于默认安装不创建快捷方式到桌面
需要在所有程序中找到gvedit.exe打开
为了下次方便, 找到后可以添加快捷方式
5) 创建一个图的过程
打开软件, 新建一个源文件, 源文件是gv格式的
编辑内容
软件不能直接创建成图片, 需要使用命令
可以在dos中输入
格式:
dot gv文件绝对路径 -Tpng -o 创建的文件 范例:
dot D:\test\.gv -Tpng -o D:\image.png
2 流程图的编写
定义一个digraph 后面跟名字加上花括号, 花括号里面就可以输入内容了
定义一个图形
名字[lable="显示的内容" shape="形状"]
创建图形到图形的有向箭头
图形名字 -> 图形名字[label="这个指向附带的描述"]
具体shape有
diamond 菱形
box 矩形
circle 圆形
三次登录源码示例
digraph login3times{
edge[fontname="Microsoft YaHei"]
node[shape=box, fontname="Microsoft YaHei" size="20,20"]
fontname="Microsoft YaHei"
label="三次登录流程图"
start[label="开始" shape=circle]
end[label="登录成功" shape=circle]
read_user_info[label="读取用户信息" shape=box]
read_black_list[label="读取黑名单" shap=box]
input_user[label="输入用户名" shap=box]
input_password[label="输入密码" shap=box]
add_black_list[label="加入黑名单" shap=box]
in_black_list[label="判断是否在黑名单中" shap=diamond]
in_user_list[label="判断是否在用户信息中" shap=diamond]
password_right[label="判断密码是否正确" shap=diamond]
is_three_times[label="是否输入错误三次" shap=diamond]
start -> read_user_info
read_user_info -> read_black_list
read_black_list -> input_user
input_user -> input_password
input_password -> in_black_list
in_black_list -> in_user_list[label="不在"]
in_black_list -> input_user[label="在"]
in_user_list -> input_user[label="不在"]
in_user_list -> password_right[label="在"]
password_right -> end[label="正确"]
password_right -> is_three_times[label="不正确"]
is_three_times -> add_black_list[label="是"]
is_three_times -> input_user[label="不是"]
add_black_list -> input_user
}
效果如下

其中edge和node里面的内容是为了解决中文乱码的问题
具体的字体有
黑体:SimHei
宋体:SimSun
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微軟正黑体:Microsoft JhengHei
微软雅黑体:Microsoft YaHei
更多图形可以参考官网
中文参考文档
004-画图神器-graphviz的更多相关文章
- 画结构图的神器 Graphviz
经常看到别人的论文里各种优美的图,没想过它们是怎么来的,前两天也是在看论文的时候被推荐了一款画图软件graphviz,稍微了解了一下这个画图软件,据说是贝尔实验室的几位牛人开发出来的,试了一下觉得很不 ...
- 画图工具Graphviz安装配置
Graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形.它也提供了供其它软件使用的库 ...
- 干掉visio,这个画图神器太香了
前言 看过我以往文章的小伙伴可能会发现,我的大部分文章都有很多配图.我的文章风格是图文相结合,更便于大家理解. 最近有很多小伙伴发私信问我:文章中的图是用什么工具画的.他们觉得我画的图风格挺小清新的, ...
- python中的画图神器——turtle模块
turtle库的基础命令介绍(1)画布画布cancas是绘图区域,可以设置它的大小和初始位置 turtle.screensize(1000,600,'red') 大小的设置 turtle.setup( ...
- 绝杀processOn,这款UML画图神器,阿里字节都用疯了,你还不知道?
大家好,我是陶朱公Boy,又和大家见面了. 前言 在文章开始前,想先问大家一个问题,大家平时在项目需求评审完后,是直接开始编码了呢?还是会先写详细设计文档,后再开始进行编码开发? ☆现实 这个时候可能 ...
- 流程图 Graphviz - Graph Visualization Software
0.目录 1.参考 https://www.processon.com/ 应该值得一试 知乎 用什么软件画流程图? 9款国内外垂直领域的在线作图工具[可代替visio] 程序员必知的七个图形工具 说 ...
- 深入理解 JavaScript,以及 Linux 下的开发调试工具
前言 JavaScript 是我接触到的第二门编程语言,第一门是 C 语言.然后才是 C++.Java 还有其它一些什么.所以我对 JavaScript 是非常有感情的,毕竟使用它有十多年了.早就想写 ...
- 深入理解JavaScript,这一篇就够了
前言 JavaScript 是我接触到的第二门编程语言,第一门是 C 语言.然后才是 C++.Java 还有其它一些什么.所以我对 JavaScript 是非常有感情的,毕竟使用它有十多年了.早就想写 ...
- The DOT Language
CSDN新首页上线啦,邀请你来立即体验! 立即体验 博客 学院 下载 更多 登录注册 The DOT Language 翻译 2014年04月15日 11:27:07 标签: EBNF / 语言 / ...
随机推荐
- hdu5384
题意:给你n个母串.m个匹配串,让你求出对于每一个母串 全部匹配串出现的次数和. 思路:完全然全邝斌的模板啊... 凝视掉一行代码就能a... . 代码: #include <algorithm ...
- VirtualApp技术黑产利用研究报告
一. 前言 VirtualApp(以下称VA)是一个App虚拟化引擎(简称VA).VirtualApp创建了一个虚拟空间,你可以在虚拟空间内任意的安装.启动和卸载APK,这一切都与外部隔离,如同一个沙 ...
- Android 存储(本地存储 SD卡存储 SharedPreference SQLite ContentProvider)
本文出自:http://blog.csdn.net/dt235201314/article/details/73176149 源码下载欢迎Star(updating):https://github.c ...
- 计算广告、推荐系统论文以及DSP综述
http://www.huxmarket.com/detail/2966 DSP场景假定前提: 以CTR预估为例,向广告主以CPC(OCPC)方式收费,向ADX以CPM方式付费.投放计划受预算限制,在 ...
- java数据库连接池简单实现
package cn.lmj.utils; import java.io.PrintWriter; import java.lang.reflect.InvocationHandler; import ...
- ListView中button监听器 设置 及 优化
在应用开发中常常会用到ListView,而且每个Item里面都会有button之类的须要进行事件监听的控件.在给button加入OnClickListener的时候,一開始非常下意识的会想在ListV ...
- 浅谈MySQL外键
http://www.xiaoxiaozi.com/2009/07/12/1158/ 像MySQL这样的关系型数据库管理系统,它们的基础是在数据库的表之间创建关系的能力.通过方便地在不同表中建立记录到 ...
- idea2018注册方法
下面是具体的破解激活步骤: 1. 下载破解补丁文件,路径为:http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 2.将补丁放在安 ...
- inch mil mm换算
inch:英寸 mil:密耳 mm:毫米 1mil=0.0254mm=25.4um 1mm=39.37mil 1inch=1000mil=25.4mm
- POJ 3580(SuperMemo-Splay区间加)[template:Splay V2]
SuperMemo Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 11384 Accepted: 3572 Case T ...