# 在Markdown中用mermaid画流程图
mermaid支持三种图形的绘制, 分别是流程图, 时序图和甘特图, 本篇文章只介绍了mermaid中流程图在markdown的使用。

流程图方向有下面几个值

  • TB 从上到下
  • BT 从下到上
  • RL 从右到左
  • LR 从左到右
  • TD 同TB
    示例

从上到下

​```mermaid
graph TD
A --> B
​```

效果:

A
B

从左到右

​```mermaid
graph LR
A --> B
​```

效果:

A
B

基本图形

id + [文字描述]矩形

  • id + (文字描述)圆角矩形
  • id + >文字描述]不对称的矩形
  • id + {文字描述}菱形
  • id + ((文字描述))圆形
示例
​```mermaid
graph TD
    id[带文本的矩形]
    id4(带文本的圆角矩形)
    id3>带文本的不对称的矩形]
    id1{带文本的菱形}
    id2((带文本的圆形))
​```

效果:

带文本的矩形
带文本的圆角矩形
带文本的不对称的矩形
带文本的菱形
带文本的圆形

节点之间的连接

  • 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并在中间加上文字描述
示例
​```mermaid
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]
​```

效果:

描述
描述
描述
描述
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B

子流程图

subgraph title
    graph definition
end

示例

​```mermaid
graph TB
    c1-->a2
    subgraph one
    a1-->a2
    end
    subgraph two
    b1-->b2
    end
    subgraph three
    c1-->c2
    end
​```

效果:

3
2
1
c1
c2
b1
b2
a1
a2

自定义样式

语法:style id 具体样式

示例
​```mermaid
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
​```

效果:

Start
Stop
demo

绘制一个登录流程图。

​```mermaid
graph TD
A(开始) -->B{是否已注册}
B --否--> D[注册申请]
D --> E[审核通过]
E --> C[登录]
B --是--> C[登录]
C --> F{是否管理员}
F --否--> G[系统主页]
G --> H[相关操作]
H --> I{是否退出}
F --是--> J[处理日志]  
J --> I
I --否--> F
I --是--> K(结束) 
​```

效果:

开始
是否已注册
注册申请
审核通过
登录
是否管理员
系统主页
相关操作
是否退出
处理日志
结束

绘制一个数据库ER图

​```mermaid
graph LR
A((用户id)) --- B[用户]
C((姓名)) --- B[用户]
D((生日)) --- B[用户]
E((身份证号)) --- B[用户]
F((电话)) --- B[用户]
G((性别)) --- B[用户]
H((登录名)) --- B[用户]
I((密码)) --- B[用户]
J((权限)) --- B[用户]
K((公司名)) --- B[用户]
W((人脸特征)) --- B
X((指静脉特征)) --- B
Y((指纹特征)) --- B
L[模组] --- M((算法))
Q[识别中心] --- R((识别id))
Q[识别中心] --- S((被识别人id))
Q[识别中心] --- T((识别时间))
Q[识别中心] --- U((识别算法))
Q[识别中心] --- V((识别结果))
a[权限操作 ]---b((权限操作id))
a --- c((操作者id))
a --- d((被操作者id))
a --- e((操作时间))
a --- f((操作内容))
B --- g{选择算法}
g --- L
B --- h{登陆}
h{登陆} --- Q
B --- i{管理}
i{管理} --- a
g --- Q
​```

效果:

用户id
用户
姓名
生日
身份证号
电话
性别
登录名
密码
权限
公司名
人脸特征
指静脉特征
指纹特征
模组
算法
识别中心
识别id
被识别人id
识别时间
识别算法
识别结果
权限操作
权限操作id
操作者id
被操作者id
操作时间
操作内容
选择算法
登陆
管理
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐