在Markdown中用mermaid画流程图和ER图

# 在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
操作时间
操作内容
选择算法
登陆
管理
  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏华东的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值