从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 新闻合订本
    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 新闻合订本
    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • Windows

  • 手机

  • 笔记软件

  • 输入法

  • 浏览器

  • Office

  • 图片类

  • 效率类

  • RSS

  • 码字工具

    • LaTex

    • Markdown

      • 什么是 Markdown
      • Markdown 语法
      • Markdown 排版规范
      • Markdown 编辑器推荐
      • 深入了解下 Markdown
      • Markdown 与数学公式
      • 使用 Markdown 画图
      • 使用 Markdown 画流程图
        • 快速入门
        • 方向
        • 基本图形
        • 连接线
        • 子流程图
        • 自定义样式
        • 实际案例
        • 参考
      • 使用 Markdown 画时序图
      • 使用 Markdown 画甘特图
      • Markdown 和其他格式的相互转换
      • 其他 Markdown 技巧
      • Typora 相关技巧
      • Typora 必备插件!
  • 各大平台

  • 效率软件
  • 码字工具
  • Markdown
2024-07-24
目录

使用 Markdown 画流程图

# 70.使用 Markdown 画流程图

流程图,顾名思义,就是表示一个事件或活动的流程的图示。

‍‍

# 快速入门

最简单的例子:从 A 到 B

graph TD
   A --> B
1
2

效果:

注意起始的关键字“grpah”是必须的,表明这是流程图。

后续介绍时序图时,该关键字也要改为时序图的关键字:sequenceDiagram。

# 方向

接下来我们讲讲基本的概念。流程图中,可以有方向:

  • TB、TD:从上到下
  • BT:从下到上
  • RL:从右到左
  • LR:从左到右

从下到上:

graph BT
   A --> B 
1
2

效果:

从右到左:

graph RL
   A --> B 
1
2

效果:

从左到右:

graph LR
   A --> B 
1
2

效果:

最常用的布局方向是

  • 从上向下
  • 从左向右

当然也允许从下向上画、从右向左画,但是这两种很少见。

# 基本图形

节点除了矩形,还能换成其他形状,这里列出部分:

graph TD
    id[带文本的矩形]
    id4(带文本的圆角矩形)
    id3>带文本的不对称的矩形]
    id1{带文本的菱形}
    id2((带文本的圆形))
1
2
3
4
5
6

效果:

注意,每个形状都是有各自含义的:

  • 圆角矩形:表示开始和结束
  • 矩形:表示过程,也就是整个流程中的一个环节
  • 菱形:表示判断、决策
  • 圆形:表示连接。为避免流程过长或有线段交叉,可将流程切开,圆形即相当于切口处的连接头(成对出现)

# 连接线

节点之间的连线,有如下类型:

  • A --> B:A 带箭头指向 B
  • A --- B:A 不带箭头指向 B
  • A -.- B:A 用虚线指向 B
  • A -.-> B:A 用带箭头的虚线指向 B
  • A ==> B:A 用加粗的箭头指向 B
  • A -- 描述 --- B: A 不带箭头指向 B 并在中间加上文字描述
  • A -- 描述 --> B: A 带箭头指向 B 并在中间加上文字描述
  • A -. 描述 .-> B: A 用带箭头的虚线指向 B 并在中间加上文字描述
  • A == 描述 ==> B: A 用加粗的箭头指向 B 并在中间加上文字描述

注意,不同形状的线其实也有各自的含义。如果想要专业一点,可以专门去查查相关文档,什么情况用什么线。

示例:

graph LR
    A[A] --> B[B] 
    A1[A] --- B1[B] 
    A4[A] -.- B4[B] 
    A5[A] -.-> B5[B] 
    A7[A] ==> B7[B] 
    A2[A] -- 描述 --- B2[B] 
    A3[A] -- 描述 --> B3[B] 
    A6[A] -. 描述 .-> B6[B] 
    A8[A] == 描述 ==> B8[B]
1
2
3
4
5
6
7
8
9
10

效果:

# 子流程图

语法:

subgraph title
    graph definition
end
1
2
3

示例:

graph TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end
1
2
3
4
5
6
7
8
9
10
11

效果:

# 自定义样式

我们还可以定义边框的样式、颜色。

语法:

style id 具体样式
1

示例:

graph LR
    id1(Start)-->id2(Stop)
    style id1 fill:#f9f,stroke:#333,stroke-width:4px,fill-opacity:0.5
    style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 10,5
1
2
3
4

效果:

# 实际案例

说了这么多,来做个有实际价值的案例:绘制一个流程图,找出 A、 B、 C 三个数中最大的一个数。

graph LR
    start[开始] --> input[输入A,B,C]
    input --> conditionA{A是否大于B}
    conditionA -- YES --> conditionC{A是否大于C}
    conditionA -- NO --> conditionB{B是否大于C}
    conditionC -- YES --> printA[输出A]
    conditionC -- NO --> printC[输出C]
    conditionB -- YES --> printB[输出B]
    conditionB -- NO --> printC[输出C]
    printA --> stop[结束]
    printC --> stop
    printB --> stop
1
2
3
4
5
6
7
8
9
10
11
12

效果:

# 参考

如何在 Markdown 中画流程图 - 简书 (opens new window)

Markdown 进阶技能:用代码画流程图(编程零基础也适用) (opens new window)

上次更新: 2025/6/3 09:31:54
使用 Markdown 画图
使用 Markdown 画时序图

← 使用 Markdown 画图 使用 Markdown 画时序图→

最近更新
01
新闻合订本 2025-10
10-31
02
2025 年 10 月记
10-30
03
用 AI 批量优化思源笔记排版
10-15
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式