0.目录

1.参考

https://www.processon.com/  应该值得一试

知乎 用什么软件画流程图?

9款国内外垂直领域的在线作图工具[可代替visio]

程序员必知的七个图形工具

说到流程图还是再次提及一下,我们之前说到的Graphviz 。

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

它的主要特点是代码生成图像,并且足够的简单。

2.Graphviz

(1)下载安装

http://graphviz.org/Download.php最下方 agree

Windows
Stable and development Windows Install packages

(2)添加环境变量

path添加: D:\Program Files (x86)\Graphviz2.38\bin

新开cmd:dot -?

(3)中文支持

在 Windows 上設定 Graphviz 中文字型

只要你用 UTF-8 的編碼來儲存描述關係圖的 dot 檔,Graphviz 也可以產生包含中文的關係圖。但 Windows 版的 Graphviz 似乎沒有設定好 fontconfig,因此會找不到中文字型,只要設定好 fontconfig 即可解決。依照預設安裝路徑,設定檔在 C:\Program Files\Graphviz 2.21\etc\fonts\fonts.conf,找到以下這行:

    <dir>#FONTDIR#</dir>
改成 Windows 字型檔的路徑: <dir>C:\WINDOWS\Fonts</dir>
Graphviz 就可以使用中文了!但注意目前似乎只能輸入英文的字型名稱,範例如下: digraph g {
node[fontname = "PMingLiu"];
"中文" -> "英文";
}

(4) 可以运行gvedit.exe写入代码,f5直接预览效果

(5) python库,其实用处不大

https://pypi.python.org/pypi/graphviz

3.参考文档

官网: http://graphviz.org/Documentation.php

使用DOT语言和Graphviz绘图(翻译)

一次性批量定义属性

    node [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colour
edge [color=Blue, style=dashed] //All the lines look like this

标 题: 【合集】dot language Graphviz流程图的问题

  (连线连在角上)

  portPos headport tailport 这几个属性

画图神器--graphviz

digraph login3times{

    edge[fontname="Microsoft YaHei"]
node[shape=box, fontname="Microsoft YaHei" size="20,20"]
fontname="Microsoft YaHei"
label="三次登录流程图"

4.语法注意事项

(1)框图为node,默认形状 ellipse 椭圆形, shape = box 长方形,diamond 菱形,circle 圆形

(2)连线为edge,箭头方向 [dir=forward, back, both, or none]

(3)在有必要的时候加双引号,如:“do sth”, "func()"

(4)注释为 //, 或 /*   */

(5)不方便之处:

A -> B -> C ->D[label=to] ,则会在三条连线上都添加 to 字样

对比:

A -> B

B -> C[label=to]

C ->D

5.综合应用

//G:\pydata\pycode>dot eg.dot -Tpng -o eg.png
digraph graphname
{
//rankdir=LR
node[fontname = "simsun"]
fontname="Microsoft YaHei"
label="代理IP获取流程图" START[label="入口get_mimvp()" shape=box]
END[label=出口ip_port_type_tuple_list, shape=box]
JUDGE[label="feature_vectors == []" color=Blue, fontsize=24, shape=diamond] START -> JUDGE
{rank=same; "extract_features()", "load_mimvp()"}
JUDGE -> "extract_features()"[label=True tailport=w]// headport=n]
"extract_features()"[style=filled, fillcolor=orange]
JUDGE -> "load_mimvp()"[label=False tailport=s headport=n] "extract_features()" -> "load_mimvp()"[label=return, fontcolor=red, dir=forward] //dir=forward, back, both, or none port_src_list[style=filled, fillcolor=yellow]
port_list[style=filled, fillcolor=green] "load_mimvp()" -> {ip_list, type_list, port_src_list}
port_src_list -> port_list
{rank=same; ip_list, type_list, port_list} -> "merge_result" -> END subgraph cluster1
{
label=子图1_特征提取 "invoke extract_features()"[style=filled, fillcolor=orange]
judge[label="filepath is not None" color=Blue, shape=diamond]
feature_vectors[style=filled, fillcolor=red] "invoke extract_features()" -> judge
judge -> "load_images_from_filepath()"[label=True tailport=w]
judge -> "load_images_from_src_list()"[label=False tailport=s]
{rank=same; "load_images_from_filepath()", "load_images_from_src_list()"}
"load_images_from_filepath()" -> "split_image()"[label=img_list]
"load_images_from_src_list()" -> "split_image()"[label=img_list]
"split_image()" -> "build_vector()"[label="split_imgs"]
"build_vector()" -> feature_vectors[label="item = {input: vector}"] // -> "load_mimvp()"
} subgraph cluster2
{
label=子图2_余弦相似度比较
port_src[style=filled, fillcolor=yellow]
port[style=filled, fillcolor=green] port_src -> "get_port()" -> "load_image_from_src()" -> "invoke split_image()" -> "invoke build_vector()"
"invoke build_vector()" -> "cos_similarity()"[label="vector\nfeature_vectors", fontcolor=red]
"cos_similarity()" -> port
}
}

代码另存为eg.dot, 编码utf-8

在命令行中运行:G:\pydata\pycode>dot eg.dot -Tpng -o eg.png

流程图 Graphviz - Graph Visualization Software的更多相关文章

  1. Graphviz - Graph Visualization Software 开源可视化绘图工具(visio 类)

    http://www.graphviz.org/Download_windows.php Welcome to Graphviz Available translations:  Romanian,  ...

  2. Graph Visualization

    1. 什么是graph visualization? Graph visualization is a way of representing structural information as di ...

  3. Trendalyzer is an information visualization software

    Trendalyzer is an information visualization software for animation of statistics that was initially ...

  4. 边捆绑: Content Importance Based Edge Bundling for Graph Visualization

    Problem 当图所要表达的信息较多时, 图中可能会充满交叉的线[1-2], 甚至整个显示空间都被点.线所覆盖, 这时想通过观察来获取图中的重要信息将会变得非常困难, 这种现象称为图的视觉混乱. K ...

  5. Python - 运行流程图, call graph, 调用图

    解决方案 pycallgraph(感觉直接用pycallgraph grahviz命令生成的图并不是我想要的) 如何去阅读并学习一些优秀的开源框架的源码? - mailto1587的回答 - 知乎 h ...

  6. python之验证码识别 特征向量提取和余弦相似性比较

    0.目录 1.参考2.没事画个流程图3.完整代码4.改进方向 1.参考 https://en.wikipedia.org/wiki/Cosine_similarity https://zh.wikip ...

  7. graphviz使用

    官方网站:http://www.graphviz.org/ Graphviz (Graph Visualization Software) 是一个由AT&T实验室启动的开源工具包.DOT是一种 ...

  8. software collection

    software software Table of Contents 1. Privacy 2. GFW 2.1. google search 2.2. 修改 DNS 服务器 2.2.1. 修改ip ...

  9. linux下阅读源代码的工具

    说来真是惭愧呀.一直在用VIM 做开发.却不知道VI 里还有这么好使的工具.以前一直都是用: find -type f -print | xargs grep -i **** 在源代码里查找. 原来L ...

随机推荐

  1. 设计模式C++学习笔记之一(Strategy策略模式)

    无意中,从网上下到一本电子书<24种设计模式介绍与6大设计原则>,很好奇这里有24种设计模式,印象中GOF写的<设计模式>(Design Patterns),好像只有23种吧. ...

  2. frei0r-1.6.1 for win32 133 DLLs

    ffmpeg中frei0r滤镜基本使用方法 ffplay -vf frei0r=filter_name=filter_params:filter_params:... 在Windows系统ffmpeg ...

  3. nginx配置文件注释说明

    #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...

  4. python 基础 01

    什么是计算机? cpu: 计算机的大脑; 读写速度 3GHZ 内存: (为了提高利用率) 缓冲硬盘和cpu 硬盘: 机械硬盘读写速度70mb/s 计算机里面读写的内容都是01代码 二进制(计算机只认二 ...

  5. Ex 2_3 求递推式的通项公式..._第三次作业

  6. [PHP]PDO各方法在发生MYSQL断开时的反应

    1.mixed PDO::errorCode ( void ) 如果单独执行此语句,并不能判断此时MYSQL是否已断开,它返回最上一次对MYSQL操作的错误码 2.public array PDO:: ...

  7. HTML5从入门到精通(明日科技) 中文pdf扫描版

    HTML5从入门到精通(明日科技) 中文pdf扫描版

  8. 中介模型以及优化查询以及CBV模式

    一.中介模型:多对多添加的时候用到中介模型 自己创建的第三张表就属于是中介模型 class Article(models.Model): ''' 文章表 ''' title = models.Char ...

  9. cf1114D 区间dp基础

    最简单的那类区间dp,昨天晚上心态不对,不知道在打什么.. /* dp[l][r]表示区间[l,r]都涂成同色的代价 dp[l][r]可以由dp[l][r-1],dp[l+1][r],dp[l+1][ ...

  10. vue 的动画

    1.vue 的动画流程分为enter,和leave分别对应以下两幅图 <!doctype html><html lang="en"><head> ...