mermaid 之 (Flowchart) 流程图

server/2024/10/18 14:16:39/

(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 --> CB --> Dendsubgraph 处理阶段E --> FE --> GendclassDef blue fill:#1f77b4,color:#fff;classDef green fill:#2ca02c,color:#fff;class C,D green;class E,F blue;
处理阶段
数据验证
进行处理
需进一步处理?
完成处理
数据有效
检查数据
数据无效
开始处理
结束并报告错误

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


http://www.ppmy.cn/server/14160.html

相关文章

微信小程序使用echarts组件实现饼状统计图功能

微信小程序使用echarts组件实现饼状统计图功能 使用echarts实现在微信小程序中统计图的功能&#xff0c;具体的实现步骤思路可进我主页查看我的另一篇博文https://blog.csdn.net/weixin_45465881/article/details/138171153进行查看&#xff0c;本篇文章主要使用echarts组件实…

【迅投qmt系列】2、历史数据获取

1、基本思想 在 xtquant 中&#xff0c;历史数据要先下载&#xff08;download_history_data&#xff09;到本地的缓存文件中&#xff0c;之后才能获取&#xff08;get_market_data&#xff09;使用。 如果确认之前已经下载过&#xff0c;且数据完整&#xff0c;那么后续使用前…

STM32玩转物联网实战篇:5.ESP8266 WIFI模块MQTT通信示例详解

1、准备开发板 开发板功能区分布图 开发板俯视图 2、实验讲解 在之前的章节中&#xff0c;已经讲解过了MQTT的通讯原理和组包过程&#xff0c;现在开始手把手的教大家用代码来实现连接MQTT平台以及数据的交互&#xff0c;实际上这篇文章已经拖更接近两年了&#xff0c;非常…

Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)

前言 Oracle 一键安装脚本&#xff0c;演示 Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC&#xff08;231017&#xff09;过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&…

【Linux】信号的产生

目录 一. 信号的概念signal() 函数 二. 信号的产生1. 键盘发送2. 系统调用kill()raise()abort() 3. 软件条件alarm() 4. 硬件异常除零错误:野指针: 三. 核心转储 一. 信号的概念 信号是消息的载体, 标志着不同的行为; 是进程间发送异步信息的一种方式, 属于软中断. 信号随时都…

Java面试之数据类型

在Java中&#xff0c;数据类型用于声明变量并指定变量能够存储的数据类型。Java的数据类型可以分为两大类&#xff1a;基本数据类型和引用数据类型。 一、基本数据类型&#xff1a; 1.1、整型&#xff1a;用于表示整数值&#xff0c;包括byte、short、int和long。 byte&…

线上线下交友社区系统 可打包小程序 支持二开 源码交付!

社交网络的普及&#xff0c;人们交友的方式发生了巨大的变化。过去&#xff0c;我们主要通过线下的方式来结识新朋友&#xff0c;比如在学校、工作场所、社交活动或者兴趣小组中。然而&#xff0c;随着移动端软件的发展&#xff0c;线上交友也逐渐变得流行。 方便性&#xff1a…

牛客 题解

文章目录 day4_17**BC149** **简写单词**思路&#xff1a;模拟代码&#xff1a; dd爱框框思路&#xff1a;滑动窗口&#xff08;同向双指针&#xff09;代码&#xff1a; 除2&#xff01;思路&#xff1a;模拟贪心堆代码&#xff1a; day4_17 BC149 简写单词 https://www.now…