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 / 语言 / ...
随机推荐
- Go -- pprof协程监控
go中有pprof包来做代码的性能监控,在两个地方有包: net/http/pprof runtime/pprof 其实net/http/pprof中只是使用runtime/pprof包来进行封装了一 ...
- Android --修改arr文件
1. 改为zip文件 2. 修改 3. 改后缀
- mac 安装scrapy
https://jingyan.baidu.com/article/14bd256e748346bb6d2612be.html 1.安装Python 安装完了记得配置环境,将python目录和pyth ...
- log4net日志组件经验分享
引自log4net日志组件经验分享 我们在开发WEB项目的时候,经常会出现这样的情况:在本地调试都是正常的,但是部署到服务器上就不行了.一般出现这种情况很大一部分原因是因为服务的环境和本地不同,数据库 ...
- Solidworks安装完成提示failed to load slderresu.dll怎么办
安装完成出现下面的一系列错误提示 进入到语言包,重新安装中文语言包即可 可以正常打开和运行了
- Cookie学习笔记二:Cookie实例
今天说说刚刚学到的两个Cookie的最经典应用:自己主动登录和购物车设置 一:自己主动登录 须要两个页面:login.jsp与index.jsp,login.jsp用来输出登录信息,index.jsp ...
- Html5学习笔记1 元素 标签 属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C#应该掌握的一些东西
C#应该掌握的一些东西 随着培训机构的增多,越来越多的人进入IT行业.那么对于我们这些自学出来,经验不够丰富的转行者来说,我们需要掌握最起码的一些东西,这对于面试很有用,而且在工作中也很常用.本人 ...
- MEMS--微机电系统
http://baike.baidu.com/view/95221.htm?fromtitle=MEMS&fromid=686299&type=search 微机电系统 编辑 您检 ...
- jsp页面设置绝对路径
例子: 设置完之后就随便jsp页面放在哪个文件夹都可以加载到资源了 <%@ page language="java" contentType="text/html; ...