Mermaid 图表
Mermaid 是一种基于文本的图表语言,可以在 Markdown 中创建流程图、时序图、甘特图等。它让图表像代码一样可维护、可版本控制。
基本语法
Mermaid 图表使用代码块语法,指定 mermaid 语言:
```mermaid
graph TD
A[开始] --> B[结束]
```
渲染效果:
流程图
流程图是最常用的图表类型,用于展示流程和决策。
基本结构
方向
TB或TD:从上到下BT:从下到上LR:从左到右RL:从右到左
节点形状
| 语法 | 形状 | 示例 |
|---|---|---|
[] | 方框 | [方框] |
() | 圆角 | (圆角) |
(()) | 圆形 | ((圆形)) |
{} | 菱形 | {菱形} |
[[]] | 子程序 | [[子程序]] |
[()] | 圆柱 | [(数据库)] |
{{}} | 六边形 | {{六边形}} |
连接线
完整示例
时序图
时序图用于展示对象之间的交互顺序。
基本语法
箭头类型
激活框
循环
条件分支
完整示例
类图
类图用于展示类之间的关系。
基本语法
类成员可见性
+public-private#protected
关系类型
状态图
状态图用于展示对象的状态变化。
甘特图
甘特图用于项目进度管理。
饼图
饼图用于展示数据占比。
ER 图
实体关系图用于数据库设计。
子图
在流程图中使用子图组织内容:
样式定制
节点样式
类样式
最佳实践
保持简洁
图表应该清晰表达核心逻辑,避免过于复杂:
合理使用子图
将相关节点组织在一起:
添加说明文字
在连接线上添加说明文字:
统一方向
同一文档中的图表方向保持一致。
兼容性
| 平台 | 支持情况 |
|---|---|
| GitHub | 支持 |
| GitLab | 支持 |
| Obsidian | 支持 |
| Typora | 支持 |
| Docusaurus | 支持 |
| VS Code (插件) | 支持 |
小结
本章学习了 Mermaid 图表的使用方法:
- 流程图:展示流程和决策
- 时序图:展示对象交互
- 类图:展示类关系
- 状态图:展示状态变化
- 甘特图:项目进度管理
- 饼图:数据占比展示
- ER 图:数据库设计
练习
- 创建一个用户登录流程图
- 创建一个 HTTP 请求的时序图
- 创建一个简单的项目甘特图
- 创建一个订单状态的状态图