zoukankan      html  css  js  c++  java
  • 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

      更多图形可以参考官网

      一些介绍

      中文参考文档

    人若有恒 无所不成
  • 相关阅读:
    Mysql常用sql&索引失效场景
    Linux命令demo
    js中浮点数的精度问题
    Linux运行程序出现Cannot execute binary file
    我的第一篇博客文(抽象类练习)
    关于MyEclipse中build path和compiler的jre不匹配
    jQuery操作单选框、多选框是否选中问题
    oracle索引操作
    JS组件多选下拉框Bootstrap之select2 使用心得
    MyEclipse10——java项目clean重新编译
  • 原文地址:https://www.cnblogs.com/weihuchao/p/6845958.html
Copyright © 2011-2022 走看看