Flowchart生成

用最土的方式画流程图:一行写一个「起点 -> 终点」,本页帮你转成 Mermaid 代码,粘到支持的编辑器里就能渲染成真正的流程图。

口径:解析每行「A -> B」生成 flowchart 代码,重复节点自动去重;演示共 6 条关系、5 个节点。

使用方法

Flowchart生成把文本关系图转成代码,四步:

  1. 在输入框里每行写一条关系,用 -> 连接,例如「开始 -> 收集需求」。
  2. 想表达分支就写多条以同一节点为起点的行,例如「评审 -> 开发」和「评审 -> 方案设计」形成回环。
  3. 点「生成 Mermaid」,下方得到以 flowchart TD 开头的代码。
  4. 点「复制代码」,粘到支持 Mermaid 的编辑器即可渲染成图。

Flowchart生成能解决什么

它解决「画流程图要装软件、拖来拖去」的麻烦:

  • 快速出草图:先把逻辑用文字理顺,再一键转成代码。
  • 写文档:README、Wiki 里直接嵌 Mermaid 代码即可显示流程图。
  • 改起来快:改文字比拖拽节点省事,尤其分支多的时候。

本页不做的事:不在页面内直接渲染图形,只生成 Mermaid 源码;也不做布局美化。

原理和变量

① 用了哪个具体函数:逐行用 split('->')(按箭头切分),左右两端各 trim 作为起点与终点,用一个 Set 收集所有节点后去重。

② 关键参数为什么这样取:用「->」作分隔符而不是空格,是因为节点名里可能含空格(如「方案设计 初稿」);箭头写法兼容 -> 与 -->。

③ 遵循哪个标准:输出符合 Mermaid 的 flowchart 语法,首行 flowchart TD 表示自上而下布局。

④ 输入怎么变成输出:演示 6 行关系 → 去重得到 5 个节点(开始、收集需求、方案设计、评审、开发、上线)→ 生成 6 条连线代码。

⑤ 边界与阈值:空行忽略;缺少箭头的行会被跳过并在提示里说明行号;节点名重复自动合并,不重复声明。

⑥ 常见误用的正确解释:Mermaid 不是「所见即所得」,要粘到支持的渲染器里才成图;节点名里的特殊字符(如括号)可能需加引号,本页会自动为含空格的节点名加引号。

完整示例

演示输入 6 行关系:开始->收集需求、收集需求->方案设计、方案设计->评审、评审->开发、评审->方案设计、开发->上线。

  • 去重后节点:开始、收集需求、方案设计、评审、开发、上线(6 个)。
  • 连线:6 条,其中「评审 → 方案设计」形成一条回到设计环节的环路。
  • 输出首行为 flowchart TD,随后是 6 行 节点 --> 节点。

把这段代码粘进支持 Mermaid 的编辑器,即得到一张自上而下的流程图。演示仅作说明。

输入范围与对照表

输入写法与解析对照:

你写的行解析结果说明
A -> BA 指向 B标准写法
A --> BA 指向 B多一个横杠也识别
A -> B -> C两条连线一行多箭头
(空行)忽略不产生节点
没有箭头的一行跳过并提示行号避免脏数据
方案设计 初稿"方案设计 初稿"含空格自动加引号
重复的 A -> B只保留一条连线去重

结果边界和舍入

本工具不涉及数值计算。需要注意:节点总数与连线数会随输入变化,重复连线会被合并(可能少于你写的行数);空输入时输出框为空并提示「请先写至少一条关系」。

常见问题

一定要用 -> 这个箭头吗?

是,本页以「->」或「-->」作为关系分隔符;其他符号不会被识别为连线。

页面里能直接看到图吗?

不能,本页只生成 Mermaid 代码,需要粘到支持 Mermaid 的编辑器里渲染。

节点名里有空格会出错吗?

不会,含空格的节点名会自动加引号,避免 Mermaid 解析歧义。

重复写同一条连线会重复吗?

不会,重复的连接会被去重,只保留一条。

支持横向布局吗?

目前固定输出自上而下的 TD 布局;如需左右布局,可在得到代码后把首行改为 flowchart LR。

数据会上传吗?

不会,解析与生成全部在浏览器本地完成。

能生成带颜色的流程图吗?

不能,本页只输出基础结构与连线,不含样式。

一行能写多条关系吗?

可以,例如「A -> B -> C」会拆成两条连线。

相关工具