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. VC操作excel

    http://www.cnblogs.com/witxjp/archive/2010/06/05/1752181.html   最近在做个数据库程序,因为有些数据用户要求导出到Excel文件显示(需要 ...

  2. NLog类库使用探索——详解配置

    1 配置文件的位置(Configuration file locations) 通过在启动的时候对一些常用目录的扫描,NLog会尝试使用找到的配置信息进行自动的自我配置. 1.1 单独的*.exe客户 ...

  3. 2.4G和5G的Wi-Fi各自优缺点对比

    原文地址:http://service.tp-link.com.cn/detail_article_3366.html 1.为什么5G信号的穿墙效果比2.4G信号差? 与路由器的距离相同时,5G信号相 ...

  4. zabbix3.0.4利用iostat工具监控centos主机磁盘IO

    该监控基于iostat,然后iostat 命令用来监视系统输入/输出设备负载 1.安装IOSTAT工具 # yum install sysstat -y 测试iostat 查看所有硬盘io # ios ...

  5. 洛谷P4827 [国家集训队] Crash 的文明世界 [斯特林数,组合数,DP]

    传送门 思路 又见到这个\(k\)次方啦!按照套路,我们将它搞成斯特林数: \[ ans_x=\sum_{i=0}^k i!S(k,i)\sum_y {dis(x,y) \choose i} \] 前 ...

  6. Confluence 6 高级性能诊断

    请在你的系统服务请求中包括下面所有的信息,如果可能的话,你也可以在请求中包括你认为最有可能出现的问题.这样的话,可以避免我们进一步对你系统的问题进行询问. 系统信息 Confluence 服务器 你系 ...

  7. Swift可选项

  8. React-Native到0.44版本后Navigator 不能用的问题

    新升级  到0.46版本以后 Navigator 不能使用报错. 'Navigator is deprecated and has been removed from this package. It ...

  9. Django Admin的相关知识

    一.面向对象复习 1.类的继承 class Base(object): def __init__(self,val): self.val = val def func(self): self.test ...

  10. C#概念总结(二)

    1.C#的方法:<access Specifier>  <Return Type>< Method Name>(Parmeter list){     method ...