Markdown Graph 图表语法mermaid

博客主要展示了多种图表的Markdown代码及图例,包括UML图、Mermaid流程图、Flowchart流程图、甘特图、类图、饼图、旅程图,还涉及markdown表格,为前端开发中图表的呈现提供了参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UML图

代码

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

图例

User System 发送请求 返回响应 User System

代码

```mermaid
sequenceDiagram
张三 ->> 李四: 你好!李四, 最近怎么样?
李四-->>王五: 你最近怎么样,王五?
李四--x 张三: 我很好,谢谢!
李四-x 王五: 我很好,谢谢!
Note right of 王五: 李四想了很长时间, 文字太长了不适合放在一行
李四-->>张三: 打量着王五...
张三->>王五: 很好... 王五, 你怎么样?

图例

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了不适合放在一行 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

Mermaid流程图

代码

```mermaid
      flowchart TB
        subgraph 从左到右
          direction LR
          声明图像类型1 --> 声明排列方向1 --> 声明图像内容1
        end
        subgraph 从右到左
          direction RL
          声明图像类型2 --> 声明排列方向2 --> 声明图像内容2
        end
        subgraph 上下分明
          direction LR
          subgraph 从上到下
            direction TB
            声明图像类型3 --> 声明排列方向3 --> 声明图像内容3
          end
          subgraph 从下到上
            direction BT
            声明图像类型4 --> 声明排列方向4 --> 声明图像内容4
          end
          从上到下 --> 从下到上
        end
        从左到右 --> 从右到左 --> 上下分明

图例

上下分明
从上到下
声明图像内容3
声明图像类型3
声明排列方向3
从下到上
声明图像内容4
声明图像类型4
声明排列方向4
从右到左
声明图像内容2
声明图像类型2
声明排列方向2
从左到右
声明图像内容1
声明图像类型1
声明排列方向1

代码

```mermaid
graph LR

A[长方形] -- 链接 --> B(())

A --> C(圆角长方形)

B --> D{菱形}

C --> D

图例

链接
长方形
圆角长方形
菱形

代码

```mermaid
graph LR
    A[Start] --> B{Is it?};
    B -- Yes --> C[OK];
    C --> D[Rethink];
    D --> B;
    B -- No --> E[End];

图例

Yes
No
Start
Is it?
OK
Rethink
End

代码

```mermaid
graph LR
A1-1(Graph Type)-->A2-1(1:Round Rectangle)
A2-1-.-A3-1[表示程序的开始或者结束]

A1-1-->A2-2[2:Rectangle]
A2-2-.-A3-2[一般用作要执行的处理]

A1-1-->A2-3{3:菱形}
A2-3-.-A3-3[表示决策或判断]

A1-1-->A2-4>Particular shape]
A2-4-.-A3-4[Unknown]

A1-1-->A2-5((圆形))
A2-5---A3-5[Usecase]
A2-5---A4-5[Usecase]

图例

Graph Type
1:Round Rectangle
表示程序的开始或者结束
2:Rectangle
一般用作要执行的处理
3:菱形
表示决策或判断
Particular shape
Unknown
圆形
Usecase
Usecase

代码

```mermaid
graph TB
A-->B0
A---B1
A-.-B2
A-->|Link1|B3
A---|Link2|B4
A==>B5
A===B6

图例

Link1
Link2
A
B0
B1
B2
B3
B4
B5
B6

样式填充
代码

```mermaid
graph LR
style A fill:#f9f,stroke:#333,stroke-width:4px,fill-opacity:0.5
style B fill:#ccf,stroke:#333,stroke-width:2px,fill-opacity:1,stroke-dasharray:5,5

A-->B

图例

A
B

Flowchart流程图

代码

```mermaid

flowchat

st=>start: 开始

e=>end: 结束

op=>operation: 我的操作

cond=>condition: 确认?

st->op->cond

cond(yes)->e

cond(no)->op

图例

Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no

甘特图

代码

```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-01 2023-05-03 2023-05-05 2023-05-07 2023-05-09 2023-05-11 2023-05-13 2023-05-15 2023-05-17 2023-05-19 2023-05-21 2023-05-23 2023-05-25 2023-05-27 2023-05-29 2023-05-31 任务1 任务2 任务3 任务4 项目A 项目B 甘特图示例

代码

```mermaid
gantt
dateFormat YYYY-MM-DD
title 甘特图示例
section 现有任务
已完成 :done, des1, 2014-01-06,2014-01-08
进行中 :active, des2, 2014-01-09, 3d
计划中 : des3, after des2, 5d

图例

2014-01-06 2014-01-07 2014-01-08 2014-01-09 2014-01-10 2014-01-11 2014-01-12 2014-01-13 2014-01-14 2014-01-15 2014-01-16 2014-01-17 已完成 进行中 计划中 现有任务 甘特图示例

类图

代码

```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)
Dog
+sound: string
+bark()
Cat
+climb()

饼图

代码

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

图例

25% 50% 25% 数据比例图 选项1 选项2 选项3

旅程图

代码

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

图例

登录
登录
已有账号
已有账号
点击登录
点击登录
登录成功
登录成功
注册
注册
没有账号
没有账号
点击注册
点击注册
注册成功
注册成功
用户旅程图

markdown表格

代码

项目 | Value
-------- | -----
电脑 | $1600
手机 | $12
导管 | $1

| Column 1 | Column 2 |
|:--------:| -------------:|
| centered 文本居中 | right-aligned 文本居右 |自定义列表

图例

项目Value
电脑$1600
手机$12
导管$1
Column 1Column 2
centered 文本居中right-aligned 文本居右
### 配置Mermaid语法以避免报错 为了在Markdown文档中正确使用Mermaid语法并避免常见的报错问题,可以从以下几个方面入手: #### 1. 替代特殊字符 当在Mermaid图表中的`text`部分遇到不被支持的特殊字符(如`@`),可以通过替换的方式解决问题。例如,可以用HTML实体编码来替代这些特殊字符。具体来说,对于`@`符号,可以将其替换成`@`[^1]。 以下是修正后的示例代码: ```mermaid graph LR A[Test@test.com] ``` 这样可以在大多数Markdown渲染器中正常显示而不会引发错误。 --- #### 2. 安装VSCode扩展 在本地编辑环境中配置Mermaid的支持非常重要。通过安装合适的VSCode扩展,能够确保开发过程中Mermaid图表得以正确预览和调试。推荐安装名为 **Markdown Preview Mermaid Support** 的扩展[^2]。该工具提供了实时预览功能,帮助开发者快速定位潜在问题。 完成安装后,重启VSCode使更改生效,并尝试重新加载包含Mermaid图表Markdown文件以验证效果。 --- #### 3. 调整GitLab兼容性设置 尽管某些特性可能在VSCode环境下运行良好,但在其他平台(如GitLab)上可能会因解析差异而导致失败。因此需要注意以下几点调整策略[^3]: - 使用`graph`而非`flowchart`作为主要绘图方式,因为后者可能存在更多跨平台兼容性问题。 - 如果需要定义子图结构,则应谨慎处理方向声明语句以及连线样式。例如,避免使用带有三个短横线的形式(即 `- - ->`),而是采用标准形式 `--->` 或者更简单的 `-->` 来表示箭头连接关系。 下面给出一段经过优化适用于多环境下的例子: ```mermaid graph TB subgraph Group_A A[A] B[B] end subgraph Group_B C[C] D[D] end A --> C B --> D ``` 此外还需注意一些细节事项比如路径分隔符统一为正斜杠(`/`)而不是反斜杠(`\`);另外确认图片链接地址完全匹配实际存储位置以免发生找不到资源的情况。 --- #### 总结说明 综上所述,要成功应用Mermaid语法Markdown文档之中需兼顾三个方面的工作:一是妥善处置那些不受支持或者容易引起误解冲突的关键字项;二是借助专门设计用于增强体验感的功能插件提升工作效率;最后还要充分考虑到目标发布场所的具体需求从而做出相应修改直至满足其全部技术指标为止。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

C+ 安口木

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

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

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

打赏作者

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

抵扣说明:

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

余额充值