• 004-画图神器-graphviz


    1 安装及基本使用

      1) 下载安装

        下载地址

        可以下载安装版进行安装或者解压版直接使用

      2) 添加系统path

        为了能够在dos中使用命令, 需要添加环境变量

        默认安装路径为 C:Program Files (x86)Graphviz2.38in

        添加至系统环境变量

      3) 测试能够正常使用

      在dos中输入 

    dot -version

      4) 打开软件

        由于默认安装不创建快捷方式到桌面

        需要在所有程序中找到gvedit.exe打开

        为了下次方便, 找到后可以添加快捷方式

      5) 创建一个图的过程

        打开软件, 新建一个源文件, 源文件是gv格式的

        编辑内容

        软件不能直接创建成图片, 需要使用命令

        可以在dos中输入

    格式:
    dot gv文件绝对路径 -Tpng -o 创建的文件
    
    范例:
    dot D:	est1.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

      更多图形可以参考官网

      一些介绍

      中文参考文档

    人若有恒 无所不成
  • 相关阅读:
    Head First设计模式(观察者模式Observer)
    Head First设计模式(装饰者模式)
    Head First设计模式
    Head First设计模式 单件模式 独一无二的对象
    .NET 设计规范.NET约定、惯用法与模式8.使用规范
    .NET 设计规范.NET约定、惯用法与模式附录:C#编程风格约定
    设计模式 一 引言
    .NET 设计规范.NET约定、惯用法与模式7.异常
    Head First设计模式 工厂模式 烘烤OO的精华
    前端IDE中Emmet插件快捷输入HTML代码
  • 原文地址:https://www.cnblogs.com/weihuchao/p/6845958.html
Copyright © 2020-2023  润新知