目录

1. 前言   1.1

2. 画图工具概述   1.2

3. 画图工具   1.3

1. 通用类   1.3.1

1. 离线客户端软件   1.3.1.1

1. Win   1.3.1.1.1

2. Mac   1.3.1.1.2

1. Diagrams   1.3.1.1.2.1

3. Linux   1.3.1.1.3

2. 在线网站   1.3.1.2

1. ProcessOn   1.3.1.2.1

1. 举例   1.3.1.2.1.1

2. 画图过程   1.3.1.2.1.2

2. Gliffy   1.3.1.2.2

3. 离线+在线   1.3.1.3

1. draw.io   1.3.1.3.1

4. js库   1.3.1.4

1. mermaid.js   1.3.1.4.1

1. Markdown   1.3.1.4.1.1

2. flowchart.js   1.3.1.4.2

2. 脑图   1.3.2

1. 离线+在线   1.3.2.1

2. 离线客户端软件   1.3.2.2

1. 跨平台   1.3.2.2.1

1. Xmind   1.3.2.2.1.1

2. MindManager   1.3.2.2.1.2

3. Freemind   1.3.2.2.1.3

3. 在线网站   1.3.2.3

1. 百度脑图   1.3.2.3.1

3. 地图   1.3.3

1. js库   1.3.3.1

1. leaflet.js   1.3.3.1.1

4. 其他   1.3.4

1. Markdown   1.3.4.1

2. Latex   1.3.4.2

3. 云系统架构   1.3.4.3

4. 附录   1.4

1. 参考资料   1.4.1

好用的画图工具

- 最新版本： v1.1

- 更新时间： 20210916

简介

总结常用的各种画图工具，搞清楚优劣，方便你找到适合自己的画图工具。包括画图中图表类和流程图、脑图等常见图的类型。分别介绍了几大类的图，包括通用类、脑图、地图等；以及分别介绍了，通用类图的客户端软件、在线网站、以及离线和在线都支持的、以及js库。包括通用类客户端软件中的Diagrams；以及在线画图网站中的processon、Gliffy；在线离线都有的draw.io；以及js库，比如mermaid.js以及其中的Markdown、flowchart.js；介绍了脑图中，离线在线都有的幕布，跨平台的客户端软件，比如Xmind、MindManager、Freemind；以及画脑图在线网站的百度脑图、Mindomo等；能画地图的js库，比如leaflet.js，以及对应Python接口的Folium；还介绍了其他格式，比如Markdown中画图、Latex中画图、专门画云系统架构图的Diagrams。

源码+浏览+下载

本书的各种源码、在线浏览地址、多种格式文件下载如下：

Gitbook源码

- crifan/best_diagram_tool: 好用的画图工具

如何使用此Gitbook源码去生成发布为电子书

详见：crifan/gitbook_template: demo how to use crifan gitbook template and demo

在线浏览

- 好用的画图工具 book.crifan.com

- 好用的画图工具 crifan.github.io

离线下载阅读

- 好用的画图工具 PDF

- 好用的画图工具 ePub

- 好用的画图工具 Mobi

版权说明

此电子书教程的全部内容，如无特别说明，均为本人原创和整理。其中部分内容参考自网络，均已备注了出处。如有发现侵犯您版权，请通过邮箱联系我  admin 艾特 crifan.com ，我会尽快删除。谢谢合作。

鸣谢

感谢我的老婆陈雪的包容理解和悉心照料，才使得我 crifan 有更多精力去专注技术专研和整理归纳出这些电子书和技术教程，特此鸣谢。

更多其他电子书

本人 crifan 还写了其他 100+ 本电子书教程，感兴趣可移步至：

crifan/crifan_ebook_readme: Crifan的电子书的使用说明

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-16 13:22:12

画图工具概述

对于画图工具来说：

- 图有多种类型

- 常见的=通用的

- 图表类

- 饼图

- 柱状图

- 等

- 图 chart 类

- 流程图= flow chart

- 脑图= mindmap = 思维导图

- 其他

- 和地图相关的

- 有多种画图的工具

- 使用方式

- 本地客户端软件

- Win

- Mac

- Diagrams

- Linux

- Web网站=网页端

- JS库

- 独立JS库

- 特殊格式

- Markdown

- 按图的类型分

- 通用图形

- 流程图

- 专门某大类

- 脑图

- 客户端软件

- Xmind

- 在线网站

- processon

- 地图

- JS库

- leaflet.js

- Python库

- Folium

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:13:32

画图工具

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:03:27

通用类

此处指的是，支持通用的、常见的图，比如流程图等，的各种画图工具。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:00:42

离线客户端软件

此处整理，通用类的画图工具中，有离线客户端软件的。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:02:39

Win

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:01:28

Mac

此处介绍 Mac 系统中的画图工具。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:56:46

Diagrams

- Diagrams

- 总体评价：功能基本够用，界面还算好看

- 主页

- Diagrams: A Native Diagram Editor for Mac

- https://diagrams.app/

- 功能

- 编辑

- 流程图

- 普通

- 业务流程

- 软件开发

- 组织架构

- 其他

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:57:30

Linux

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:56:40

在线网站

此处介绍，通用类画图工具中，使用形式是在线网站的。

- ProcessOn

- https://www.processon.com/

- Gliffy

- https://www.gliffy.com

- cacoo

- 主页

- Online Diagram and Flowchart Software | Cacoo

- https://cacoo.com

- 在线模板：种类很多

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:57:01

ProcessOn

- ProcessOn

- 概述：一个在线网站，可以用来画图，支持各种格式，功能强大且易用

- 主页

- ProcessOn - 免费在线作图，思维导图，流程图，实时协作

- https://www.processon.com/

- 特点

- 各种类型的图

- 思维导图=脑图

- 可切换成 思维笔记

- 流程图

- 多种图形库 = 图形库很丰富

- 支持团队协作

- 海量模板库

- （由于本身是网页版，所以）跨终端=支持多平台

- 教程

- ProcessOn - 帮助手册

- https://www.processon.com/support

其他说明

使用技巧

- Ctrl+拖动 ：可以等比例缩放

- Ctrl+Enter ：保存文本

导出格式丰富

要夸一句，最新 20180601 发现，processon，导出格式都开始支持，其（竞争对手的） xmind 和 freemind 了：

-> 从这点上说，processon产品做的足够好，有足够自信，大家会愿意继续使用该产品

-> 而不怕别人导出为其他软件的格式，而不继续使用processon自己的产品

-> 有态度，有信心，有格局，赞一个。

注：只有脑图，可以导出（脑图的其他竞品的格式） xmind 和 freemind 。其他非脑图，当然无法导出 xmind 和 freemind 。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:59:43

processon举例

crifan

crifan电子书概览

- crifan电子书概览

- https://www.processon.com/view/link/5fa6221f637689653d8b9a1c

计算机技术 20191115

- 计算机技术 20191115

- https://www.processon.com/view/link/5e61ac91e4b0a967bb38f95b

安全

安全技术概览

安全技术概览范畴图

- 安全技术概览范畴图

- https://www.processon.com/view/link/60d2fb470791297edd62f2e3

安全技术概览脑图 20210624

- 安全技术概览脑图 20210624

- https://www.processon.com/view/link/60d3e0bb0e3e742d29cce910

Web安全

Web安全攻防流程和常用概念

- Web安全攻防流程和常用概念

- https://www.processon.com/view/link/60b9f1b3f346fb5e0b2007bc

爬虫

Spider Roadmap 20200714

- Spider Roadmap 20200714

- https://www.processon.com/view/link/5d12dba7e4b09b096ead6880

移动端自动化

facebook-wda架构流程图

- facebook-wda架构流程图

- https://www.processon.com/view/link/5eb3689e5653bb07215954bf

正则表达式

一图让你看懂和记住所有正则表达式规则

- 一图让你看懂和记住所有正则表达式规则

- https://www.processon.com/view/link/5e3f7ca3e4b0a3daae81090f

正则表达式详解：look ahead和look behind

- 正则表达式详解：look ahead和look behind

- https://www.processon.com/view/link/5e3a5bdbe4b06b291a60f195

房贷

央行MLF 商业银行LPR 地方政府加点 个人房贷利率 关系

- 央行MLF 商业银行LPR 地方政府加点 个人房贷利率 关系

- https://www.processon.com/view/link/5e5fb18ae4b099155f9810ed

硬件

芯片

芯片相关名词对比 20190327

- 芯片相关名词对比 20190327

- https://www.processon.com/view/link/5c91f1b6e4b09a16b9a9acfe

常见芯片相关公司的关系 20190326

- 常见芯片相关公司的关系 20190326

- https://www.processon.com/view/link/5c88afbce4b0ed6b42ff12c5

通信

频谱、无线电波、移动通信、4G、5G之间关系

- 频谱、无线电波、移动通信、4G、5G之间关系

- https://www.processon.com/view/link/606172be1e0853028ab4c4b0

RCS演化历史

- RCS演化历史

- https://www.processon.com/view/link/5f5ad62b07912902cf81b60a

RCS/IMS/TISPAN/NGN架构和相关组织关系图

- RCS/IMS/TISPAN/NGN架构和相关组织关系图

- https://www.processon.com/view/link/5f48c086f346fb2e2959bfbb

汽车

汽车销售领域客户状态变化流程结构图

- 汽车销售领域客户状态变化流程结构图 | ProcessOn免费在线作图,在线流程图,在线思维导图

- https://www.processon.com/view/link/5a604c7ae4b0a447b9adda93

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-16 11:58:19

画图过程

此处以

- 汽车销售领域客户状态变化流程结构图 | ProcessOn免费在线作图,在线流程图,在线思维导图

- https://www.processon.com/view/link/5a604c7ae4b0a447b9adda93

为例，介绍用 processon 的具体画图的过程：

新建文件：

未命名文件：

然后就是，从左边拖动元素，到画布中，一点点编辑了。

期间的效果：

导航=缩略图预览：

以及可以用各种细节的功能：

调整文本颜色：

对齐方式：

填充样式：

线条颜色：

线条宽度：

线条样式：

连线类型：

线条的起始和终点的样式：

编辑对象：

布局调整：

图形对齐：

图形分布：

匹配大小：

格式刷：

右边的导航栏：

导航：

图形：

度量：

数据属性：

页面属性：

页面属性-》页面大小 自定义：

历史版本：

评论：

画完图后

下载=导出文件

导出图片：

支持多种格式：

- 图片

- png

- jpg

- svg

- 文件

- pdf

下载格式：

下载到的多种格式的文件：

群协作

分享

点击分享，会生成链接：

即可在线页面查看：

汽车销售领域客户状态变化流程结构图 | ProcessOn免费在线作图,在线流程图,在线思维导图

https://www.processon.com/view/link/5a604c7ae4b0a447b9adda93

发布

也可以根据需要去发布：

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-16 11:58:26

Gliffy

- Gliffy

- 主页

- Diagram Software & Team Collaboration Tools | Gliffy

- https://www.gliffy.com

- 举例

- 评价：免费版功能有限制，完整功能要收费

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:02:48

跨平台

此处介绍通用类画图软件中，支持多种平台=跨平台的。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:56:53

draw.io

- draw.io

- 总体评价：功能还行，但是编辑功能不太好用。总体算能凑合用。

- 优点

- 免费

- 够用

- 缺点

- 编辑功能不好用

- 编辑期间，点击元素后，很容易和其他元素误连接在一起

- 以及点击已有箭头去编辑连接对象，长短等期间，操作很繁琐和麻烦

- 总体上的编辑体验，很差，不人性化，容易误操作

- 所以以后少用，甚至不用这个draw.io了

- 如何使用

- 在线网站

- draw.io

- https://www.draw.io

- 注：20210909 最新已跳转到：

- https://app.diagrams.net/

- 对应主页：

- Diagram Software and Flowchart Maker

- https://www.diagrams.net/

- （离线）客户端（软件）

- 下载地址

- Release 14.9.6 · jgraph/drawio-desktop

- https://github.com/jgraph/drawio-desktop/releases/latest

- Mac

- Intel x86

- https://github.com/jgraph/drawio-desktop/releases/download/v14.9.6/draw.io-x64-14.9.6.dmg

- Apple M1

- https://github.com/jgraph/drawio-desktop/releases/download/v14.9.6/draw.io-arm64-14.9.6.dmg

举例

用draw.io去画iOS自动化测试系统架构图

draw.io：在线网站

- draw.io：在线网站

- 入口：https://www.draw.io

- 弹框问保存位置

- 保存文件名： GameAutomationTool_SystemArchitecture.drawio

- 新建画布

- 查看有哪些元素可用

- 画图过程

- 保存：点击 Unsaved changes. Click here to save ，会下载xml文件

- 改变了语言为 简体中文 后 刷新页面，重新加载

- 显示界面变中文

draw.io：Mac本地客户端

- draw.io：Mac本地客户端

- 打开draw.io

- 打开本地已有文件

- 编辑期间

- 导出图片

- 最终的图

- 导出/保存的图片原始文件： xml 文件

<mxfile host="Electron" modified="2020-09-24T10:00:08.714Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/12.4.2 Chrome/78.0.3904.130 Electron/7.1.4 Safari/537.36" etag="ckiNkqZW8nDfEjMWoV_d" version="12.4.2" type="device" pages="1"><diagram id="UrqPNygQhGn5OkpY1sZ7" name="Page-1">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</diagram></mxfile>

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:00:48

js库

还有一类是 js ，也可以实现画图，画出常见的流程图等内容。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:00:56

mermaid.js

- mermaid  =  mermaid.js

- 是什么：一个js库，用于画图，主要是画各种流程图等等

- Github

- mermaid-js/mermaid: Generation of diagram and flowchart from text in a similar manner as markdown

- https://github.com/mermaid-js/mermaid

- 资料

- 文档

- mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs

- https://mermaid-js.github.io/mermaid/

- 举例

- Examples - mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.

- https://mermaid-js.github.io/mermaid/#/examples?id=message-to-self-in-loop

- 支持不同类型的图

- flowchart

- https://mermaid-js.github.io/mermaid/#/flowchart

- Sequence diagrams

- https://mermaid-js.github.io/mermaid/#/sequenceDiagram

- Class diagrams

- https://mermaid-js.github.io/mermaid/#/classDiagram

- State diagrams

- https://mermaid-js.github.io/mermaid/#/stateDiagram

- Entity Relationship Diagrams

- https://mermaid-js.github.io/mermaid/#/entityRelationshipDiagram

- User Journey Diagram

- https://mermaid-js.github.io/mermaid/#/user-journey

- Gantt diagrams

- https://mermaid-js.github.io/mermaid/#/gantt

- Pie chart diagrams

- https://mermaid-js.github.io/mermaid/#/pie

- Requirement Diagram

- https://mermaid-js.github.io/mermaid/#/requirementDiagram

- Other Examples

- https://mermaid-js.github.io/mermaid/#/examples

在线编辑（预览、导出）

- Mermaid live editor

- https://mermaid-js.github.io/mermaid-live-editor/edit

- 特点

- 支持设置参数，但包括自定义主题theme

- 如何导出图片

- png

- Action -> 点击第一个按钮 下载PNG -> 下载保存了png图片

- 如果想要高清晰度的，则要 先点击 PNG size，选择 Width，默认：1080，再点击 下载PNG，即可。

- jpg

- Action -> 点击 外链PNG -> 打开新页面，保存图片，可以保存出jpg格式的

效果举例

%%{init: {'theme': 'base', 'actorLineColor':'#BB8FCE'}}%%

graph TB

subgraph 过滤无效Url

Start((开始)) --> IsBlackList{是否是黑名单 ?}

IsBlackList --是--> DropUrl(丢弃Url)

IsBlackList --否--> IsIp{是否是IP ?}

IsIp --是--> DropUrl

IsIp --否--> IsDuplicated{是否重复Url ?}

IsDuplicated --是--> DropUrl

IsDuplicated --否--> ExtractRule(自动规则提取)

end

subgraph 自动规则提取

ExtractRule --> IsPayUrl{是否是支付 ?}

IsPayUrl --是--> SaveRule(保存规则)

IsPayUrl --否--> IsPackage{是否带包名 ?}

IsPackage --是--> SaveRule

IsPackage --否--> RulePostProcess(规则后处理)

SaveRule --> RulePostProcess

subgraph 规则后处理

RulePostProcess --> FilterInvalidValue(过滤Default和0等无效的值)

FilterInvalidValue --> AddEventCode(添加EventCode参数)

AddEventCode --> AssistManualCheck(辅助人工判断)

end

end

subgraph 辅助人工判断

AssistManualCheck --> KeepHttpsOnlyHost(Https只保留Host域名)

KeepHttpsOnlyHost --> CalcFld(计算根域名fld)

CalcFld --> FindCompany(查找公司名)

FindCompany --> GenZhcnFisrtLetter(计算中文拼音首字母)

GenZhcnFisrtLetter --> GenFinalRule(生成最终规则)

end

subgraph 生成最终规则

GenFinalRule --> CalcThemePlay(计算游戏主题和游戏玩法)

CalcThemePlay --> CalcUrlRuleType(计算规则类型)

CalcUrlRuleType --> GenUrlSource(生成url来源)

GenUrlSource --> OutputFileCsvExcel(输出csv和excel文件)

OutputFileCsvExcel --> End

DropUrl --> End((结束))

end

style Start fill:#58D68D,stroke-width:2px

style DropUrl fill:#FF5733,stroke-width:1px

style End fill:#85929E,stroke-width:2px

style ExtractRule fill:#5DADE2,stroke-width:2px

style RulePostProcess fill:#5DADE2,stroke-width:2px

style AssistManualCheck fill:#5DADE2,stroke-width:2px

style GenFinalRule fill:#5DADE2,stroke-width:2px

效果：

- 在线预览

- 导出图片

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-16 13:21:33

Markdown

TODO：

- 考虑把这部分Markdown内容，整理到：

- 其他中的Markdown

支持 Markdown 格式的客户端中，如果内部支持 mermaid.js ，则也可以用来画 流程图 、 时序图 、 甘特图等 等图表。

常见支持 Markdown 的：

- 离线客户端软件

- 印象笔记

- 有道云笔记

- 在线 Markdown 的 mermaid 网站

- mermaid.js的Online Editor

- https://mermaid-js.github.io/mermaid-live-editor/edit/

对比

印象笔记 vs mermaid.js Online Editor

mermaid.js的代码：

```mermaid

%%{init: {'theme': 'base', 'actorLineColor':'#BB8FCE'}}%%

graph TB

subgraph 过滤无效Url

Start((开始)) --> IsBlackList{是否是黑名单 ?}

IsBlackList --是--> DropUrl(丢弃Url)

IsBlackList --否--> IsIp{是否是IP ?}

IsIp --是--> DropUrl

IsIp --否--> IsDuplicated{是否重复Url ?}

IsDuplicated --是--> DropUrl

IsDuplicated --否--> ExtractRule(自动规则提取)

end

subgraph 自动规则提取

ExtractRule --> IsPayUrl{是否是支付 ?}

IsPayUrl --是--> SaveRule(保存规则)

IsPayUrl --否--> IsPackage{是否带包名 ?}

IsPackage --是--> SaveRule

IsPackage --否--> RulePostProcess(规则后处理)

SaveRule --> RulePostProcess

subgraph 规则后处理

RulePostProcess --> FilterInvalidValue(过滤Default和0等无效的值)

FilterInvalidValue --> AddEventCode(添加EventCode参数)

AddEventCode --> AssistManualCheck(辅助人工判断)

end

end

subgraph 辅助人工判断

AssistManualCheck --> KeepHttpsOnlyHost(Https只保留Host域名)

KeepHttpsOnlyHost --> CalcFld(计算根域名fld)

CalcFld --> FindCompany(查找公司名)

FindCompany --> GenZhcnFisrtLetter(计算中文拼音首字母)

GenZhcnFisrtLetter --> GenFinalRule(生成最终规则)

end

subgraph 生成最终规则

GenFinalRule --> CalcThemePlay(计算游戏主题和游戏玩法)

CalcThemePlay --> CalcUrlRuleType(计算规则类型)

CalcUrlRuleType --> GenUrlSource(生成url来源)

GenUrlSource --> OutputFileCsvExcel(输出csv和excel文件)

OutputFileCsvExcel --> End

DropUrl --> End((结束))

end

style Start fill:#58D68D,stroke-width:2px

style DropUrl fill:#FF5733,stroke-width:1px

style End fill:#85929E,stroke-width:2px

style ExtractRule fill:#5DADE2,stroke-width:2px

style RulePostProcess fill:#5DADE2,stroke-width:2px

style AssistManualCheck fill:#5DADE2,stroke-width:2px

style GenFinalRule fill:#5DADE2,stroke-width:2px

```

效果：

- 印象笔记

- 编辑和预览

- 导图单张图片

- mermaid.js Online Editor

印象笔记 vs VSCode vs 有道云笔记

此处，对于同一个mermaid的流程图：

关于游戏抓包自动化的流程

代码：

```mermaid

graph TB

subgraph 准备工作

Start((开始)) --> CheckDownloaded{已下载apk ?}

CheckDownloaded --已下载--> CheckInstalled(已安装Apk ?)

CheckDownloaded --未下载--> DownloadApk(下载apk)

DownloadApk(下载apk) --> CheckInstalled

CheckInstalled --未安装--> InstallApk(安装Apk)

end

subgraph 自动抓包

subgraph 启动游戏

CheckInstalled --已安装--> LaunchApk

InstallApk --> LaunchApk

LaunchApk(启动Apk) --游戏启动页--> HasRegistered{用户已注册 ?}

subgraph 用户注册

HasRegistered --已注册--> UserLogin

HasRegistered --未注册--> AutoRegisterOk{自动注册成功 ?}

AutoRegisterOk --成功--> UserLogin

AutoRegisterOk --未成功--> ManualRegister>用户手动注册]

ManualRegister --> UserLogin

end

UserLogin(用户登录) --> CreateRole

CreateRole(创建角色) --> EnterGame(进入游戏)

end

subgraph 抓包付费链接

EnterGame(进入游戏) --> GameHome(游戏主页面)

GameHome --点击充值相关按钮--> GamePay(游戏支付页面)

GamePay --> End((结束))

end

end

style Start fill:#f66,stroke-width:2px

style End fill:#f66,stroke-width:2px

style DownloadApk fill:#ccf,stroke-width:2px

style InstallApk fill:#ccf,stroke-width:2px

style LaunchApk fill:#ccf,stroke-width:2px

style UserLogin fill:#ccf,stroke-width:2px

style CreateRole fill:#ccf,stroke-width:2px

style EnterGame fill:#ccf,stroke-width:2px

style GameHome fill:#ccf,stroke-width:2px

style GamePay fill:#ccf,stroke-width:2px

```

效果：

- 印象笔记

- 预览

- 导出的图

- 通过印象笔记-》导出pdf-》mac预览导出图片-》Sngit编辑图片 ->最终导出的单张图片

- 评价：总体效果还是不错的。如果印象笔记支持subgraph的title显示，就更完美了

- 注：不支持即无法显示subgraph的title

- VSCode

- 预览

- 有道笔记本

- Web网页版

- 预览

- 注：要去掉顶部的mermaid，以及去掉多余空行，才可正常显示图

- 特殊

- 如果（subgraph的内部）有多余空行（或者多余空格），会导致无法显示预览效果

- 与之对比：其他工具，比如印象笔记，VSCode，都可以正常预览Markdown

LR从左到右显示

如果有时候觉得，流程图的 TB = Top To Bottom = 从顶向下 显示，太长了，不方便查看，可以考虑切换方向，比如从左到右= LR = from Left to Right

即把代码中的：

graph TB 改为  graph LR

即可实现，从左到右显示：

- graph LR 的效果

印象笔记中的Markdown中的Mermaid

流程图graph

模块

代码：

```mermaid

graph TD

A[模块A] -->|A1| B(模块B)

B --> C{判断条件C}

C -->|条件C1| D[模块D]

C -->|条件C2| E[模块E]

C -->|条件C3| F[模块F]

```

效果：

iOS返回前一页

代码：

```mermaid

graph TB

subgraph 准备工作

Start((启动iOS设备)) --> WdaInitDevice(wda初始化设备)

WdaInitDevice --> GetPageXmlSource(获取页面xml源码)

GetPageXmlSource --> IsTypicalBackButton{是典型返回按钮 ?}

IsTypicalBackButton --是--> ClickBackButton(点击返回按钮)

IsTypicalBackButton --否--> NonTypicalButtonDetect(非典型返回按钮检测)

FixPositionDetect --左上角固定位置--> ClickBackButton

ClickBackButton(点击返回按钮) --> End((结束测试))

end

subgraph NonTypicalButtonDetect

NonTypicalButtonDetect --> IsNameLabelContainBack{name和label包含返回 ?}

IsNameLabelContainBack --是--> ClickBackButton

IsNameLabelContainBack --否--> IsFullScreenBack{是否是全屏返回类按钮 ?}

IsFullScreenBack --是--> ClickBackButton

IsFullScreenBack --否--> IsMiniprogramOther{是否是小程序类Other类按钮 ?}

IsMiniprogramOther --是--> ClickBackButton

IsMiniprogramOther --否--> FixPositionDetect(兜底通用逻辑)

end

style Start fill:#FEF9E7,stroke-width:2px

style End fill:#FEF9E7,stroke-width:2px

style ClickBackButton fill:#52BE80,stroke-width:2px

```

效果：

不够好看，只算凑合够用

客户流转

代码：

```mermaid

graph TB

subgraph 线索

Clue(线索) --建卡/建档--> ProspectCustomer(有望客户)

end

subgraph 潜客

ProspectCustomer(有望客户) --下单 订单--> OrderCustomer(订单客户)

OrderCustomer(订单客户) --交车 交车单--> DeliveryCustomer(交车客户)

ProspectCustomer(有望客户) --> FailedCustomer(战败客户)

FailedCustomer(战败客户) --顾问上报 经理审批--> ProspectCustomer(有望客户)

OrderCustomer(订单客户) -- 退订 退订单--> ProspectCustomer(有望客户)

end

```

效果：

游戏抓包

- 简单的：

代码：

```mermaid

graph TB

subgraph 准备工作

DownloadApk(下载apk) --> InstallApk(安装Apk)

end

subgraph 自动抓包

InstallApk(安装Apk) --> LaunchApk(启动apk)

LaunchApk(启动apk) --> GameHome(游戏主页面)

GameHome(游戏主页面) --> GamePay(游戏支付页面)

end

```

效果：

- 复杂的：带subgraph的

代码：

```mermaid

graph TB

subgraph 准备工作

Start[开始] --> CheckDownloaded{已下载apk ?}

CheckDownloaded --已下载--> CheckInstalled(已安装Apk ?)

CheckDownloaded --未下载--> DownloadApk(下载apk)

DownloadApk(下载apk) --> CheckInstalled

CheckInstalled --未安装--> InstallApk(安装Apk)

end

subgraph 自动抓包

subgraph 启动游戏

CheckInstalled --已安装--> LaunchApk(启动Apk)

InstallApk --> LaunchApk

LaunchApk --> LaunchPage(游戏启动页)

LaunchPage(游戏启动页) --> UserRegister(用户注册)

UserRegister(用户注册) --> UserLogin(用户登录)

UserLogin(用户登录) --> CreateRole(创建角色)

CreateRole(创建角色) --> EnterGame(进入游戏)

end

subgraph 抓包付费链接

EnterGame(进入游戏) --> GameHome(游戏主页面)

GameHome(游戏主页面) --> GamePay(游戏支付页面)

end

end

```

效果：

商品货物

```mermaid

graph TD

A[建立货品档案] --> B1[常规货品入库]

B1 --> C1(入库审核)

C1 --> D1[库存管理]

D1 --> E1[常规货品出库]

D1 --> E2[劳保用品出库]

D1 --> E3[调拨]

D1 --> E4[盘点]

E1 --> F1(出库审核)

E2 --> F2(出库审核)

E3 --> F3(调拨审核)

E4 --> F4(盘点审核)

F1 --> G1[打印出库单]

F1 --> H1[常规货品出库]

F2 --> G2[打印出库单]

F2 --> H2[劳保用品出库]

H1 --> I1[库存统计分析]

H2 --> I1

F3 --> G3[调拨出库]

F4 --> G4[盘点入库]

G4 --> H4[盘点分析]

A --> B2[快消品入库]

B2 --> C2(入库审核)

C2 --> D2[快消品出库]

D2 --> E5(出库审核)

E5 --> F5[出库]

F5 --> G5[快消品明显台账]

```

时序图

代码：

```mermaid

sequenceDiagram

A->>B: 是否已收到消息？

B-->>A: 已收到消息

```

效果：

甘特图

代码：

```mermaid

gantt

title 甘特图

dateFormat YYYY-MM-DD

section 项目A

任务1 :a1, 2018-06-06, 30d

任务2 :after a1 , 20d

section 项目B

任务3 :2018-06-12 , 12d

任务4 : 24d

```

效果：

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:03:14

flowchart.js

- flowchart.js

- 概述：一个js库，可以用来画流程图

- 主页

- flowchart.js

- http://flowchart.js.org

- GitHub

- adrai/flowchart.js: Draws simple SVG flow chart diagrams from textual representation of the diagram

- https://github.com/adrai/flowchart.js

- 举例

- 代码

st=>start: Start:>http://www.google.com[blank]

e=>end:>http://www.google.com

op1=>operation: My Operation

sub1=>subroutine: My Subroutine

cond=>condition: Yes

or No?:>http://www.google.com

io=>inputoutput: catch something...

para=>parallel: parallel tasks

st->op1->cond

cond(yes)->io->e

cond(no)->para

para(path1, bottom)->sub1(right)->op1

para(path2, top)->op1

- 效果

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:02:38

脑图mindmap

- 脑图 = mindmap = mind map

- 别称： 思维导图

- 是什么：常见图形的一种，常用于总结某类内容

- 往往是公司多人开会头脑风暴讨论某个东西后，用脑图呈现出来，成系统的一套东西

- 长什么样：从中间某个主题，散发出去，呈现多个分支状

- Xmind

- processon

常见脑图工具

- 客户端软件

- 跨平台

- Xmind ：很好用

- MindJet 的 MindManager

- Freemind ：虽然免费，但是真心不好用

- iMindMap ：3D，炫酷，好看

- MindMaster

- Omnigraffle ：古老的感觉

- Mac

- MindNote

- Scapple

- MindNode ：Mac端，简洁好用

- 主页

- Mind Map & Brainstorm Ideas - MindNode

- https://www.mindnode.com/

- 在线网站

- 推荐：processon

- 主页：https://www.processon.com/

- 百度脑图：很一般

对比

XMind 、 MindManager 、 iMindMap

- MindManager 是Win平台最强大的， Xmind 次之， iMindMap 次次之；

- MindManager非常强大但是主要维护Windows版！

- XMind是macOS平台最好用的，iMindMap次之，MindManager在十万八千里之外；

- XMind是macOS和Win同步更新 在macOS下是最棒的，在Win下稳定性受人诟病

Freemind  vs  Xmind  vs  MindJet MindManager

Xmind  vs  MindManager  vs  iMindMap

XMind  vs  Scapple  vs  MindNote

其他评价

- 最强大思维导图工具三剑客除了 MindManager 和 XMind ，第三个就是 iMindMap 只是漂亮，其他方面次于xmind或者mindmanager，因为作图漂亮如果做展示用和存档的话这个还是不错的。

- iThoughtx 和 MindNode 是macOS与iOS平台轻量级里面最好的思维导图工具，（我个人更喜欢MindNode）

- 不过这两个工具较话题讨论的两个工具是超级轻量化的，尤其MindNode简单至极，但是大道至简，简单正好带来了零门槛入门，并且可以心无旁念专注于思考。

- 推荐刚入门就从MindNode学起，等完全掌握了思维导图的精髓后再按照上文选择自己的工具

结论

- macOS ： Xmind 完胜

- Win ： MindManager 完胜

- macOS ＋ Win 双平台通用： XMind 完胜

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:01:43

跨平台

此处介绍脑图软件中，跨平台，即支持在线网页，也支持离线客户端的。

- 幕布

幕布

- 幕布

- 主页

- https://mubu.com/home

- 截图

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:59:48

离线客户端软件

此处介绍脑图的离线客户端软件。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:59:04

跨平台

此处介绍，能画脑图的，离线客户端软件中的支持多个平台、即跨平台的软件。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:03:41

Xmind

- Xmind

- 概述：主流的跨平台的脑图软件

- 支持平台

- 桌面端

- Win

- Mac

- Linux

- 移动端

- 主页

- https://www.xmind.cn/

- 下载

- https://www.xmind.cn/download/

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:03:52

MindManager

- MindManager

- 所属公司： MindJet

- 主页

- MindManager - Mind Mapping Software

- https://www.mindmanager.com/en/product/mindmanager/

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:58:52

Freemind

- Freemind

- 概述：开源免费脑图软件

- 主页

- Main Page - FreeMind

- http://freemind.sourceforge.net/wiki/index.php/Main_Page

- 下载

- Download - FreeMind

- http://freemind.sourceforge.net/wiki/index.php/Download

- 截图

- Screenshots - FreeMind

- http://freemind.sourceforge.net/wiki/index.php/Screenshots

- 举例

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:00:22

在线网站

此处整理，用在线网站形式去画脑图的。

- 百度脑图

- Mindomo

- 主页

- https://www.mindomo.com/zh/

- 举例

- Mindomo 免费的在线思维导图 - Mind Map

- https://www.mindomo.com/zh/mindmap/mindomo-1e373816df0e17cbaafdc4288db2a764

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:04:46

百度脑图

此处介绍，在线网站形式去画脑图的工具： 百度脑图

- 百度脑图

- 首页

- 百度脑图 - 便捷的思维工具

- http://naotu.baidu.com

举例

iOS自动化测试工具

登录到百度账号后，进入：

https://naotu.baidu.com/home

默认是列表页：

点击对应的脑图，进入编辑页面：

即可去编辑：插入新节点。编辑节点。

如何分享

想要分享的话：

要回到列表页：

点击某个脑图右边的 三个点 -> 分享设置：

在弹框 分享脑图 中，点击  打开链接  = 启动分享 = 别人才能查看

会看到提示： 启用链接成功

然后去复制出（分享）链接：

http://naotu.baidu.com/file/943d57aaf43792a0a028d2607a2a8a61?token=276f21d452dea5d2

不过，尴尬的是 -》别人要登录 百度账号后，才能查看：

-》非常不方便。放弃使用。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:03:42

地图

基于地图（全球的、某个国家的、某个地区的等）去画图，生成地图相关图表

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:57:25

js库

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:00:39

leaflet.js

- leaflet.js

- 是什么：js库

- 概述：一款能实现交互式地图功能的主流的js库

- 资料

- 主页

- Leaflet - a JavaScript library for interactive maps

- https://leafletjs.com/

- 教程

- Tutorials - Leaflet - a JavaScript library for interactive maps

- https://leafletjs.com/examples.html

- API文档

- Documentation - Leaflet - a JavaScript library for interactive maps

- https://leafletjs.com/reference-1.7.1.html

- 示例代码

var map = L.map('map').setView([51.505, -0.09], 13);

L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {

attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'

}).addTo(map);

L.marker([51.5, -0.09]).addTo(map)

.bindPopup('A pretty CSS3 popup.<br> Easily customizable.')

.openPopup();

Python版leaflet

- Python版leaflet = leaflet的Python的接口

- Folium

- 概述：一个基于 leaflet.js 的Python地图库

- GitHub

- python-visualization/folium: Python Data. Leaflet.js Maps.

- https://github.com/python-visualization/folium

- 文档

- Folium — Folium 0.12.1 documentation

- https://python-visualization.github.io/folium/

- 快速上手

- Quickstart — Folium 0.12.1 documentation

- https://python-visualization.github.io/folium/quickstart.html

- 示例

- Jupyter Notebook Viewer

- https://nbviewer.jupyter.org/github/python-visualization/folium/tree/master/examples/

- 彩色地图

- https://nbviewer.jupyter.org/github/python-visualization/folium/blob/master/examples/Colormaps.ipynb

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:57:15

其他

此处介绍，关于画图工具中，其他一些相关内容：

- 语法格式

- Markdown

- LaTex

其中内嵌支持画图，画各种类型的图表。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:00:49

Markdown

此处 Markdown 类型的文件格式中，如果客户端或网页支持内部的库，也可以用 Markdown 去画图，画出各种类型的图表。

常见支持 Markdown 的：

- 离线客户端软件

- 印象笔记

- 有道云笔记

- 在线Markdown的网站

- TODO

印象笔记中的Markdown

普通图表

支持 饼状图 、 折线图 、 柱状图 和 条形图 。

举例：

```chart

,预算,收入,花费,债务

June,5000,8000,4000,6000

July,3000,1000,4000,3000

Aug,5000,7000,6000,3000

Sep,7000,2000,3000,1000

Oct,6000,5000,4000,2000

Nov,4000,3000,5000,

type: pie

title: 每月收益

x.title: Amount

y.title: Month

y.suffix: $

```

效果：

另外：只需将 type 改为对应的 pie 、 line 、 column 和 bar ，即可显示不同类型图表。

脑图

印象笔记中的Markdown中，也可以画图。

举例：

- gameUrlToRule的脑图

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:59:50

Latex

也可以用 Latex 画流程图。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:01:12

云系统架构

此处整理，专门画云系统架构图的工具。

- 画云架构图

- 用python代码画： Diagrams

Diagrams

- Diagrams

- Github

- mingrammer/diagrams: Diagram as Code for prototyping cloud system architectures

- https://github.com/mingrammer/diagrams

- 示例

- 官网

- Examples · Diagrams

- https://diagrams.mingrammer.com/docs/getting-started/examples

具体例子

- Grouped Workers on AWS

- 代码：

from diagrams import Diagram

from diagrams.aws.compute import EC2

from diagrams.aws.database import RDS

from diagrams.aws.network import ELB

with Diagram("Grouped Workers", show=False, direction="TB"):

ELB("lb") >> [EC2("worker1"),

EC2("worker2"),

EC2("worker3"),

EC2("worker4"),

EC2("worker5")] >> RDS("events")

- 效果

- Clustered Web Services

- 代码：

from diagrams import Cluster, Diagram

from diagrams.aws.compute import ECS

from diagrams.aws.database import ElastiCache, RDS

from diagrams.aws.network import ELB

from diagrams.aws.network import Route53

with Diagram("Clustered Web Services", show=False):

dns = Route53("dns")

lb = ELB("lb")

with Cluster("Services"):

svc_group = [ECS("web1"),

ECS("web2"),

ECS("web3")]

with Cluster("DB Cluster"):

db_master = RDS("userdb")

db_master - [RDS("userdb ro")]

memcached = ElastiCache("memcached")

dns >> lb >> svc_group

svc_group >> db_master

svc_group >> memcached

- 效果

- Event Processing on AWS

- 代码：

from diagrams import Cluster, Diagram

from diagrams.aws.compute import ECS, EKS, Lambda

from diagrams.aws.database import Redshift

from diagrams.aws.integration import SQS

from diagrams.aws.storage import S3

with Diagram("Event Processing", show=False):

source = EKS("k8s source")

with Cluster("Event Flows"):

with Cluster("Event Workers"):

workers = [ECS("worker1"),

ECS("worker2"),

ECS("worker3")]

queue = SQS("event queue")

with Cluster("Processing"):

handlers = [Lambda("proc1"),

Lambda("proc2"),

Lambda("proc3")]

store = S3("events store")

dw = Redshift("analytics")

source >> workers >> queue >> handlers

handlers >> store

handlers >> dw

- 效果

- Advanced Web Service with On-Premise

- 代码：

from diagrams import Cluster, Diagram

from diagrams.onprem.analytics import Spark

from diagrams.onprem.compute import Server

from diagrams.onprem.database import PostgreSQL

from diagrams.onprem.inmemory import Redis

from diagrams.onprem.logging import Fluentd

from diagrams.onprem.monitoring import Grafana, Prometheus

from diagrams.onprem.network import Nginx

from diagrams.onprem.queue import Kafka

with Diagram("Advanced Web Service with On-Premise", show=False):

ingress = Nginx("ingress")

metrics = Prometheus("metric")

metrics << Grafana("monitoring")

with Cluster("Service Cluster"):

grpcsvc = [

Server("grpc1"),

Server("grpc2"),

Server("grpc3")]

with Cluster("Sessions HA"):

master = Redis("session")

master - Redis("replica") << metrics

grpcsvc >> master

with Cluster("Database HA"):

master = PostgreSQL("users")

master - PostgreSQL("slave") << metrics

grpcsvc >> master

aggregator = Fluentd("logging")

aggregator >> Kafka("stream") >> Spark("analytics")

ingress >> grpcsvc >> aggregator

- 效果

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:04:58

附录

下面列出相关参考资料。

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 21:05:31

参考资料

- 【记录】用draw.io去画iOS自动化测试系统架构图

- 【已解决】Mac中找个合适工具去画项目架构图和流程图

- 【记录】用draw.io去画游戏自动化测试系统架构图

- 【已解决】Mac中用印象笔记Markdown画项目流程图

- 【已解决】Mac中用印象笔记的Markdown画iOS返回前一页的流程图

- 【部分解决】对于Markdown的mermaid的流程图表预览显示效果比较好的工具

- 【未解决】优化Markdown的mermaid使得能方便导出整个流程图成为单张图片

- 【无法解决】印象笔记的Markdown中mermaid流程图的subgraph加上标题和设置边框属性

- 【记录】试用Xmind Cloud能否在线免费共享

- 【已解决】写好markdown的mermaid后用在线网页工具查看和导出流程图的图片

- 【记录】mermaid在线预览查看设置不同主题theme看看效果

- 【记录】用印象笔记给gameUrlToRule画流程图 20210715

- 【已解决】从印象笔记的markdown流程图的笔记中导出流程图图片

- 【记录】用印象笔记画gameUrlToRule的需求图的脑图

- 【记录】用processon画汽车销售领域客户状态变化流程图

- 【记录】用Markdown画流程图 – 在路上

- 【记录】ProcessOn中的图的导出和导入

- 【整理】前端 脑图 MindMap 可视化 – 在路上

- 【已解决】Mac中画系统架构图带各种软件硬件图标的画图软件

- 【整理】ProcessOn中的原型图的内置图标和元素

- 【记录】升级ProcessOn为个人版

- 【基本解决】用JS的库实现在线思维导图

- 这可能是 Python 里最强的地图绘制神器 - 知乎 (zhihu.com)

- Python地图可视化之Folium – 标点符

- Leaflet - a JavaScript library for interactive maps

- python-visualization/folium: Python Data. Leaflet.js Maps.

- Folium — Folium 0.12.1 documentation

- Jupyter Notebook Viewer

- Quickstart — Folium 0.12.1 documentation

- Diagram Software & Team Collaboration Tools | Gliffy

- Online Diagram Software & Visual Solution | Lucidchart

- Pricing and Account Types | Lucidchart

- 流程图软件draw.io值得你拥有 - 简书

- 科研大佬用什么工具画流程图？看完这篇就知道了。 - 知乎

- 9款国内外垂直领域的在线作图工具：那些可以替代Visio的应用！ - 知乎

- 印象笔记 Markdown 入门指南

- 印象笔记新功能:Markdown 详细讲解 - 聪聪 Blog

- Markdown笔记：如何画流程图_MR CUI的专栏-CSDN博客

- Mermaid - How to connect subgraphs in markdown? - Stack Overflow

- 如何在Markdown中画流程图 - 简书

- Examples - mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs

- Flowchart - mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs

- Markdown笔记：如何画流程图_MR CUI的专栏-CSDN博客_markdown画流程图

- Flowchart - mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs

- MaHua 在线markdown编辑器

- Markdown在线编辑、实时预览 - markdown在线编辑器 - 1024Tools

- Chrome中实时预览Markdown | iTimothy

- Editor.md - 开源在线 Markdown 编辑器

- 谁是2020年最强Python库？年度Top10出炉 - 知乎

- 大家写文档用什么神器 - V2EX

- 思维导图软件 XMind 和 MindManager 哪个更好？ - 知乎

- XMind vs Scapple vs MindNode - Slant

- MindNode vs XMind. The Best Mind Mapping software

- 幕布 - 极简大纲笔记 | 一键生成思维导图

- iMindMap手绘思维导图软件_iMindMap 10中文版免费下载

- 使用 LaTeX 绘制流程图_Marionce的博客-CSDN博客_latex流程图

crifan.com，使用署名4.0国际(CC BY 4.0)协议发布 all right reserved，powered by Gitbook最后更新： 2021-09-11 20:57:30

Table of Contents

前言

画图工具概述

画图工具

通用类

离线客户端软件

在线网站

离线+在线

js库

脑图

离线+在线

离线客户端软件

在线网站

地图

js库

其他

Markdown

Latex

云系统架构

附录

参考资料