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. hdu5384

    题意:给你n个母串.m个匹配串,让你求出对于每一个母串 全部匹配串出现的次数和. 思路:完全然全邝斌的模板啊... 凝视掉一行代码就能a... . 代码: #include <algorithm ...

  2. VirtualApp技术黑产利用研究报告

    一. 前言 VirtualApp(以下称VA)是一个App虚拟化引擎(简称VA).VirtualApp创建了一个虚拟空间,你可以在虚拟空间内任意的安装.启动和卸载APK,这一切都与外部隔离,如同一个沙 ...

  3. Android 存储(本地存储 SD卡存储 SharedPreference SQLite ContentProvider)

    本文出自:http://blog.csdn.net/dt235201314/article/details/73176149 源码下载欢迎Star(updating):https://github.c ...

  4. 计算广告、推荐系统论文以及DSP综述

    http://www.huxmarket.com/detail/2966 DSP场景假定前提: 以CTR预估为例,向广告主以CPC(OCPC)方式收费,向ADX以CPM方式付费.投放计划受预算限制,在 ...

  5. java数据库连接池简单实现

    package cn.lmj.utils; import java.io.PrintWriter; import java.lang.reflect.InvocationHandler; import ...

  6. ListView中button监听器 设置 及 优化

    在应用开发中常常会用到ListView,而且每个Item里面都会有button之类的须要进行事件监听的控件.在给button加入OnClickListener的时候,一開始非常下意识的会想在ListV ...

  7. 浅谈MySQL外键

    http://www.xiaoxiaozi.com/2009/07/12/1158/ 像MySQL这样的关系型数据库管理系统,它们的基础是在数据库的表之间创建关系的能力.通过方便地在不同表中建立记录到 ...

  8. idea2018注册方法

    下面是具体的破解激活步骤: 1. 下载破解补丁文件,路径为:http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 2.将补丁放在安 ...

  9. inch mil mm换算

    inch:英寸 mil:密耳 mm:毫米 1mil=0.0254mm=25.4um 1mm=39.37mil 1inch=1000mil=25.4mm

  10. POJ 3580(SuperMemo-Splay区间加)[template:Splay V2]

    SuperMemo Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 11384   Accepted: 3572 Case T ...