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的更多相关文章

  1. 画结构图的神器 Graphviz

    经常看到别人的论文里各种优美的图,没想过它们是怎么来的,前两天也是在看论文的时候被推荐了一款画图软件graphviz,稍微了解了一下这个画图软件,据说是贝尔实验室的几位牛人开发出来的,试了一下觉得很不 ...

  2. 画图工具Graphviz安装配置

    Graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形.它也提供了供其它软件使用的库 ...

  3. 干掉visio,这个画图神器太香了

    前言 看过我以往文章的小伙伴可能会发现,我的大部分文章都有很多配图.我的文章风格是图文相结合,更便于大家理解. 最近有很多小伙伴发私信问我:文章中的图是用什么工具画的.他们觉得我画的图风格挺小清新的, ...

  4. python中的画图神器——turtle模块

    turtle库的基础命令介绍(1)画布画布cancas是绘图区域,可以设置它的大小和初始位置 turtle.screensize(1000,600,'red') 大小的设置 turtle.setup( ...

  5. 绝杀processOn,这款UML画图神器,阿里字节都用疯了,你还不知道?

    大家好,我是陶朱公Boy,又和大家见面了. 前言 在文章开始前,想先问大家一个问题,大家平时在项目需求评审完后,是直接开始编码了呢?还是会先写详细设计文档,后再开始进行编码开发? ☆现实 这个时候可能 ...

  6. 流程图 Graphviz - Graph Visualization Software

    0.目录 1.参考 https://www.processon.com/  应该值得一试 知乎 用什么软件画流程图? 9款国内外垂直领域的在线作图工具[可代替visio] 程序员必知的七个图形工具 说 ...

  7. 深入理解 JavaScript,以及 Linux 下的开发调试工具

    前言 JavaScript 是我接触到的第二门编程语言,第一门是 C 语言.然后才是 C++.Java 还有其它一些什么.所以我对 JavaScript 是非常有感情的,毕竟使用它有十多年了.早就想写 ...

  8. 深入理解JavaScript,这一篇就够了

    前言 JavaScript 是我接触到的第二门编程语言,第一门是 C 语言.然后才是 C++.Java 还有其它一些什么.所以我对 JavaScript 是非常有感情的,毕竟使用它有十多年了.早就想写 ...

  9. The DOT Language

    CSDN新首页上线啦,邀请你来立即体验! 立即体验 博客 学院 下载 更多 登录注册 The DOT Language 翻译 2014年04月15日 11:27:07 标签: EBNF / 语言 / ...

随机推荐

  1. iOS真机测试,为Provisioning添加设备

    ------------添加设备到provisioning------------- 1,登陆https://developer.apple.com/devcenter/ios/index.actio ...

  2. DEV GridControl 常用属性 z

    1隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值 sValue=Table.Rows[grid ...

  3. 创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)

    分类: Oracle(9) 版权声明:转载请注明出处 JmilkFan_范桂飓:http://blog.csdn.net/jmilk 目录(?)[+] 目录 目录 软件环境 前言 安装Oracle监听 ...

  4. Understand the Business Domain

     Understand the Business Domain Mark Richards EFFECTivE SoFTWARE ARCHiTECTS understand not only tec ...

  5. 需要配置执行path?no

    下面的代码以管理员权限运行即可,保存为bat 2018/2/6(basic) - 初始化版本 @echo off :continue echo 输入exit退出 set /p My_PATH=请输入要 ...

  6. byte 单位换算

    1G就1GB啦,平时人们说1G只是简洁来说而已. bit(位).B(字节).K(千).M(兆).G(吉咖).T(太拉) B(Byte).KB(KiloByte).MB(MegaByte).GB(Gig ...

  7. ios 清理缓存(EGO)

    一段清理缓存的代码例如以下: dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,) , ^{ NSSt ...

  8. Android——滑动事件冲突解决

    android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件. android系统中的每个View的子类都具有下面三个与TouchEvent处理密切相关的方法: (1) ...

  9. Numpy数组计算

    NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能 ndarray,一个多维数组结构,高效且节省空间 无需循环对整组数据进行快速运算的数学函数 ...

  10. RESTful API 设计原则

    http://www.ruanyifeng.com/blog/2014/05/restful_api.html http://www.ruanyifeng.com/blog/2011/09/restf ...