mermaid 之 (Flowchart) 流程图

(Flowchart) 流程图是一种在Mermaid中常用的图形,用于描述一系列步骤和决策。以下是Mermaid中创建流程图的详细语法介绍:

前言

官网文档

基础语法

图的方向

  • graph TD:从上到下 (Top Down)
  • graph LR:从左到右 (Left to Right)
  • graph RL:从右到左 (Right to Left)
  • graph BT:从下到上 (Bottom Top)

节点

为了进一步完善节点描述的部分,我们可以根据每种形状的特点详细解释其用途和视觉表示。以下是各种节点形状的详细描述:

  1. 文本框(默认形状)

    • A[text]:使用方括号 [] 创建的是标准的矩形节点,适用于表示普通步骤或活动。
  2. 圆角框

    • B(text):使用圆角方括号 () 创建的节点,边缘为圆角,通常用于表示过程或子过程。
  3. 体育场型框

    • C([text]):体育场型框(也称作胶囊形状)是使用方括号 [] 包裹在圆括号 () 内创建的,这种形状用于表示持续的过程或活动。
  4. 数据库型框

    • D[(text)]:数据库型框使用圆括号 () 包裹在方括号 [] 内,其形状类似于数据库符号,适用于表示数据存储或数据库相关操作。
  5. 圆形框

    • E((text)):使用双圆括号 (( )) 创建的节点是完全的圆形,常用来表示终点或起点。
  6. 非对称框

    • F>text]:非对称框使用大于符号 > 开头,方括号 ] 结尾,形状类似于标签页,适用于表示特殊的步骤或重要的决策点。
  7. 菱形框

    • G{text}:使用大括号 {} 创建的节点是菱形,这种形状通常用于表示决策点,如是/否的判断。
  8. 六边形框

    • H{``{text}}:使用双大括号 {``{ }} 创建的节点是六边形,可以用来表示条件或规则的改变。
  9. 平行四边形框

    • I[/text/]J[\text\]:这两种节点分别使用斜线 / / 和反斜线 \ \ 创建平行四边形,通常用于表示输入或输出。

连接线

连接线在流程图中用以展示不同节点之间的关系与流向。Mermaid 提供多种类型的连接线,以适应不同的展示需求。下面是一些常用的连接线示例和它们的用途:

  1. 标准连接线

    • -->:这是最基本的连接线,带有一个箭头,表示从一个节点流向另一个节点。例如:
      开始 第二步
  2. 无箭头直线

    • ---:这种连接线没有箭头,用来表示两个节点之间的关系,但不强调特定的流向。例如:

      开始 相关步骤

  3. 带点的连接线

    • -.->:这种线是虚线带箭头,用于表示流程中的可选或次要步骤。例如:
      开始 可选步骤
  4. 粗线

    • ==>:粗线带箭头,用于强调流程中的主要或重要步骤。例如:
      重要开始 关键步骤
  5. 标签化的连接线

    • -->|标签|:在连接线上添加文本标签,用于说明这条连接线的作用或条件。例如:
      是 否 判断点 执行操作 跳过
  6. 双向箭头

    • <-->:这种连接线带有两个箭头,表示两个节点之间的双向关系。例如:
      协作 反馈

连接线标签

  • 在连接线上可以添加文本,例如 A -->|是| B,其中"是"是连接线上的标签。
  1. 简单示例
bash 复制代码
graph TD;
    A[开始] --> B{这里是否下雨?};
    B -- 是 --> C[带伞出门];
    B -- 否 --> D[直接出门];
    C --> E[到达目的地];
    D --> E;

是 否 开始 这里是否下雨? 带伞出门 直接出门 到达目的地

高级语法

  1. 子图

    • 使用 subgraph 关键字定义子图,这有助于组织复杂流程。
    • 子图可以嵌套,并可以有自己的标题。
  2. 样式定制

    • 可以对节点和连接线应用CSS样式,例如 classDef 定义样式类,class 应用样式。
  3. 链接

    • 节点可以包含链接,点击时可以导航到其他URL或触发动作。

示例

这是一个更复杂的流程图示例,展示了以上语法的应用:

bash 复制代码
graph TD;
    A[开始处理] --> B{检查数据};
    B -- 是 --> C[数据有效];
    B -- 否 --> D[数据无效];
    C --> E{需进一步处理?};
    E -- 是 --> F[进行处理];
    E -- 否 --> G[完成处理];
    D --> H[结束并报告错误];

    subgraph 数据验证
        B --> C
        B --> D
    end

    subgraph 处理阶段
        E --> F
        E --> G
    end

    classDef blue fill:#1f77b4,color:#fff;
    classDef green fill:#2ca02c,color:#fff;
    class C,D green;
    class E,F blue;

处理阶段 数据验证 是 否 是 否 进行处理 需进一步处理? 完成处理 数据有效 检查数据 数据无效 开始处理 结束并报告错误

接着前面的内容,我们可以进一步探讨和补充Mermaid流程图的基础语法和高级语法,让您能够更加全面地掌握创建复杂流程图的技巧。

相关推荐
时差9531 分钟前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
让学习成为一种生活方式3 分钟前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
Mephisto.java9 分钟前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database
秋意钟30 分钟前
MySQL日期类型选择建议
数据库·mysql
一个处女座的程序猿1 小时前
LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略
pdf·markdown·zerox
Dxy12393102161 小时前
python下载pdf
数据库·python·pdf
桀桀桀桀桀桀2 小时前
数据库中的用户管理和权限管理
数据库·mysql
BearHan3 小时前
Sqlsugar调用Oracle的存储过程
oracle·存储过程·orm
superman超哥3 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
用户8007165452003 小时前
HTAP数据库国产化改造技术可行性方案分析
数据库