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. [Codeforces671D]Roads in Yusland

    [Codeforces671D]Roads in Yusland Tags:题解 题意 luogu 给定以1为根的一棵树,有\(m\)条直上直下的有代价的链,求选一些链把所有边覆盖的最小代价.若无解输 ...

  2. 题解-bzoj2554 Color

    Problem Please contact lydsy2012@163.com! 题意概要:有 \(n\) 个球排成一列,每个球都有一个颜色,每次随机选出两个球,使得后者染上前者的颜色,求期望操作多 ...

  3. 用sitemap做主页的菜单栏

    首先打开vs--> 新建项-->选择站点地图. 站点地图建好了  其中具体的节点根据自己情况配好就行. 接下来是两个非常重要的类: using System.Collections.Gen ...

  4. url分发(二级分发)

    from django.shortcuts import HttpResponsedef test(request): return HttpResponse('test') from django. ...

  5. 32)django-modelform

    一:mdoelform modelform是model和form结合 model+form =>验证+数据库 class A(model): user= pass= Form: class Lo ...

  6. linux压缩与解压(持续更新)

    压缩 tar cvzf  w.tar.gz  xxx1 xxx2  对应解压:tar xvzf w.tar.gz

  7. winform的水印TextBox

    public partial class WaterTextBox : TextBox { private readonly Label lblwaterText = new Label(); pub ...

  8. 什么是java序列化,如何实现java 序列化?

    序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化. 可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序列化是为了解决在对对象流进行读写操作时所引发的问题.  ...

  9. VBS将本地的Excel数据导入到SQL Server中

    VBS将本地的Excel数据导入到SQL Server中 高文龙关注0人评论1170人阅读2017-05-14 12:54:44 VBS将本地的Excel数据导入到SQL Server中 最近有个测试 ...

  10. OCM 学习练习题目

    1:数据安装操作练习:考试题目 1: Creating a database & Server Configuration --[101]-- #创建数据库 1. Create the dat ...