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. 简单示例
graph TD;
    A[开始] --> B{这里是否下雨?};
    B -- 是 --> C[带伞出门];
    B -- 否 --> D[直接出门];
    C --> E[到达目的地];
    D --> E;
开始
这里是否下雨?
带伞出门
直接出门
到达目的地

高级语法

  1. 子图

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

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

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

示例

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

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;
处理阶段
数据验证
进行处理
需进一步处理?
完成处理
数据有效
检查数据
数据无效
开始处理
结束并报告错误
  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值