Mind and Hand Help

Example

饼图

Pie Chart,中文也称之为“饼状图”,是一种常用的数据可视化工具,可以用于展示不同部分之间的占比关系。使用Mermaid 绘制饼形图也十分简单,只需要按照以下格式编写即可:

pie title 数据比例图 "选项1" : 25 "选项2" : 50 "选项3" : 25
50%25%25%数据比例图选项2选项1选项3

其中, title是饼形图的标题, 选项1/2/3是各个数据选项的名称, 25/50/25则是它们对应的数值。你可以根据需要自行修改数据选项的个数以及对应的数值。

除此之外,还有一些可选的参数可以进行设置:

  • colors :用于设置各个数据选项对应的颜色。默认情况下,Mermaid会自动为每个数据选项分配一种颜色,也可以手动指定颜色;

  • labelFormat :用于设置饼形图上的数据标签格式,可以是数字、百分比等。

  • labelPosition :用于设置数据标签的位置,可以是饼形图内部、外部或者中心位置。

在绘制完饼形图之后,你可以将它嵌入到你的文章或者报告中,这样就能够清晰直观地展示数据的占比关系了。

流程图

除了饼形图之外,Mermaid还支持多种图表类型,其中最常用的就是流程图了。

流程图可以用于展示某个过程中各个步骤的顺序和关系,例如软件开发过程中的各个阶段、某个业务流程中的各个环节等等。

使用Mermaid绘制流程图同样也是非常简单的:

graph LR A-->B B-->C C-->D D-->E

A

B

C

D

E

其中,每个人物或状态都用一个大写字母表示。箭头表示流程中的方向,可以是两个人物之间直接的连线,也可以是虚拟的线。

例如,上面的流程图中,大写字母A表示流程的初始状态,箭头指向B表示从状态A到状态B的流程方向。

节点还可以调用修饰函数,对节点进行颜色、边框、虚线等方面的设置,如下所示:

graph LR A --> B --> C --> D style A fill:#F0F0F0,stroke:#333,stroke-width:2px; style B fill:#FFF,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5; style C fill:#FFA500,stroke:#333,stroke-width:2px; style D fill:#FFF,stroke:#333,stroke-width:2px,stroke-dasharray: 5 5;

A

B

C

D

其中, style 关键词用于调用修饰函数,上面的代码中,我们对节点A、B、C、D进行了不同的设置,使它们具有不同的颜色和边框样式。

时序图

时序图可以用于展示系统交互、程序控制流程等。在 Mermaid 中,时序图的渲染方式也是非常简便的。

sequenceDiagram participant User participant System User->>System: 发送请求 System->>User: 返回响应
SystemUserSystemUser发送请求返回响应

状态图

状态图用于展示对象的状态和状态间的转移过程。在mermaid中,状态图的语法也是非常简单的。状态图可以用于展示对象的生命周期、状态转移等。

stateDiagram [*] --> 暂停 暂停 --> 播放 暂停 --> 停止 播放 --> 暂停 播放 --> 停止 停止 --> [*]

暂停

播放

停止

甘特图

甘特图用于展示项目进度安排、任务分配等信息,也是mermaid支持的一种图表类型。

gantt title 甘特图示例 dateFormat YYYY-MM-DD section 项目A 任务1 :a1, 2023-05-01, 10d 任务2 :after a1 , 20d section 项目B 任务3 :2023-05-15 , 12d 任务4 :2023-05-20 , 10d
2023-05-012023-05-032023-05-052023-05-072023-05-092023-05-112023-05-132023-05-152023-05-172023-05-192023-05-212023-05-232023-05-252023-05-272023-05-292023-05-31任务1 任务2 任务3 任务4 项目A 项目B 甘特图示例

甘特图也支持更多的属性设定,如颜色、进度等,可以参考官方文档进行进一步学习。

类图

类图用于展示类之间的关系,属性和方法。在mermaid中,类图的语法也是非常常用的。

classDiagram class Animal { +name: string +age: int +eat(food: string): void } class Dog { +sound: string +bark(): void } class Cat { +climb(): void } Animal <|-- Dog Animal <|-- Cat
Animal
+name: string
+age: int
+eat(food: string) : : void
Dog
+sound: string
+bark() : : void
Cat
+climb() : : void

用户旅程

用户旅程图主要分为多个阶段或步骤,描述了用户在使用产品或服务时的流程和情感反应。

在每个步骤中,可以进一步描述用户的行为和反馈,可以帮助产品团队更好地理解用户需求和体验,进而进行产品优化和改进。

在mermaid中,用户旅程图的语法如下:

journey title 用户旅程图 section 登录 已有账号 : 已有账号页面 点击登录 : 登录操作 登录成功 : 登录成功页面 section 注册 没有账号 : 注册页面 点击注册 : 注册操作 注册成功 : 注册成功页面
登录
登录
已有账号
已有账号
点击登录
点击登录
登录成功
登录成功
注册
注册
没有账号
没有账号
点击注册
点击注册
注册成功
注册成功
用户旅程图
27 January 2026