当前位置: 首页 > java >正文

使用 Mermaid 在 Markdown 中绘制图表

使用 Mermaid 在 Markdown 中绘制图表

Mermaid 是一种基于文本的图表绘制工具,可以在 Markdown 中直接创建各种图表。以下是主要图表类型的语法和示例:

一、基本语法

在 Markdown 中使用 Mermaid 需要代码块标注语言为 mermaid:

```mermaid
图表类型
图表内容

```

二、流程图 (Flowchart)

基本语法

mermaid
graph TDA[开始] --> B{条件判断}B -->|| C[执行操作1]B -->|| D[执行操作2]C --> E[结束]D --> E

代码示例

```mermaid
graph TD
A[开始] --> B{条件判断}
B -->|是| C[执行操作1]
B -->|否| D[执行操作2]
C --> E[结束]
D --> E
```

效果

开始
条件判断
执行操作1
执行操作2
结束

三、序列图 (Sequence Diagram)

基本语法

sequenceDiagramparticipant 用户participant 系统用户->>系统: 登录请求系统-->>用户: 验证请求用户->>系统: 提交数据系统-->>用户: 返回结果

代码示例

```mermaid
sequenceDiagram
participant 用户
participant 系统
用户->>系统: 登录请求
系统–>>用户: 验证请求
用户->>系统: 提交数据
系统–>>用户: 返回结果
```

效果

用户 系统 登录请求 验证请求 提交数据 返回结果 用户 系统

四、类图 (Class Diagram)

基本语法

classDiagramclass 用户 {+用户名: string+密码: string+登录()+注销()}class 订单 {+订单号: int+创建日期: date+计算总价()}用户 "1" --> "n" 订单

代码示例

```mermaid
classDiagram
class 用户 {
+用户名: string
+密码: string
+登录()
+注销()
}
class 订单 {
+订单号: int
+创建日期: date
+计算总价()
}
用户 “1” --> “n” 订单
```

效果

1
n
用户
+用户名: string
+密码: string
+登录()
+注销()
订单
+订单号: int
+创建日期: date
+计算总价()

五、状态图 (State Diagram)

基本语法

stateDiagram-v2[*] --> 待机待机 --> 运行: 启动命令运行 --> 暂停: 暂停命令暂停 --> 运行: 继续命令运行 --> 待机: 停止命令暂停 --> 待机: 停止命令

代码示例

```mermaid
stateDiagram-v2
[*] --> 待机
待机 --> 运行: 启动命令
运行 --> 暂停: 暂停命令
暂停 --> 运行: 继续命令
运行 --> 待机: 停止命令
暂停 --> 待机: 停止命令
```

效果

启动命令
暂停命令
继续命令
停止命令
停止命令
待机
运行
暂停

六、甘特图 (Gantt Chart)

基本语法

gantttitle 项目计划dateFormat  YYYY-MM-DDsection 阶段1需求分析       :a1, 2023-10-01, 7d设计           :after a1, 5dsection 阶段2开发           :2023-10-15, 10d测试           :2023-10-25, 5d

代码示例

```mermaid
gantt
title 项目计划
dateFormat YYYY-MM-DD
section 阶段1
需求分析 :a1, 2023-10-01, 7d
设计 :after a1, 5d
section 阶段2
开发 :2023-10-15, 10d
测试 :2023-10-25, 5d
```

效果

2023-10-01 2023-10-03 2023-10-05 2023-10-07 2023-10-09 2023-10-11 2023-10-13 2023-10-15 2023-10-17 2023-10-19 2023-10-21 2023-10-23 2023-10-25 2023-10-27 2023-10-29 需求分析 设计 开发 测试 阶段1 阶段2 项目计划

七、饼图 (Pie Chart)

基本语法

pietitle 浏览器市场份额"Chrome" : 65.0"Safari" : 15.0"Firefox" : 10.0"其他" : 10.0

代码示例

```mermaid
pie
title 浏览器市场份额
“Chrome” : 65.0
“Safari” : 15.0
“Firefox” : 10.0
“其他” : 10.0
```

效果

65% 15% 10% 10% 浏览器市场份额 Chrome Safari Firefox 其他

八、实体关系图 (ER Diagram)

基本语法

erDiagramCUSTOMER ||--o{ ORDER : placesORDER ||--|{ LINE-ITEM : containsCUSTOMER }|..|{ DELIVERY-ADDRESS : uses

代码示例

```mermaid
erDiagram
CUSTOMER ||–o{ ORDER : places
ORDER ||–|{ LINE-ITEM : contains
CUSTOMER }|…|{ DELIVERY-ADDRESS : uses
```

效果

CUSTOMER ORDER LINE-ITEM DELIVERY-ADDRESS places contains uses

九、使用技巧

主题设置‌:

%%{init: {'theme': 'dark'}}%%
graph TDA[开始] --> B[结束]
开始
结束

自定义样式‌:

graph TDA[开始] --> B[结束]style A fill:#f9f,stroke:#333style B fill:#bbf,stroke:#f66
开始
结束

交互功能‌(部分渲染器支持):

graph TDA[点击我] --> B[显示效果]click A "https://mermaid.js.org" "这是提示文本"
点击我
显示效果

十、兼容性说明

1. 需要支持 Mermaid 的 Markdown 渲染器:

  • VS Code(需安装 Mermaid 插件或使用支持的功能)
  • GitHub(部分支持)
  • GitLab(完全支持)
  • 许多静态网站生成器(如 Docsify、Docusaurus)

2. 对于不支持的环境,可以考虑:

  • 使用 Mermaid 在线编辑器生成图片
  • 配置构建流程自动将 Mermaid 代码转换为图片
http://www.xdnf.cn/news/3572.html

相关文章:

  • 数字智慧方案6213丨智慧园区规划方案(63页PPT)(文末有下载方式)
  • AI大模型-解决开发环境配置不足问题
  • 【AIStarter苹果版发布】黑苹果部署教程+跨平台AI应用测试指南
  • HCL(HashiCorp Configuration Language)是一种结构化配置语言
  • 13.多边形的三角剖分 (Triangulation) : Triangulation
  • 我的日记杂文
  • 中小企业MES系统详细设计
  • Rain World 雨世界 [DLC 解锁] [Steam Epic] [Windows SteamOS]
  • 新手SEO优化核心步骤
  • 《筑牢防线:全方位守护移动应用免受逆向侵扰》
  • 【JavaScript-Day 1】从零开始:全面了解 JavaScript 是什么、为什么学以及它与 Java 的区别
  • 【云盘】使用阿里云盘托管项目大文件
  • 销售总监求职简历模板
  • ACGRIME:用于全局优化和特征选择的自适应混沌高斯RIME优化器,附完整版免费代码
  • 65. Java 类和对象 - 创建和使用类与对象:摘要
  • [SoC]AXI总线Performance验证方案
  • 一天学完JDBC!!(万字总结)
  • 机器学习中的学习率及其衰减方法全面解析
  • 值此五一劳动节来临之际,
  • Java 入门:自定义标识符规则解析
  • ECMAScript 2(ES2):标准化的微调与巩固
  • STM32MP157开发板设置静态IP地址
  • stm32 HAI库 SPI(一)原理
  • spring-- 事务失效原因及多线程事务失效解决方案
  • spring中的@PostConstruct注解详解
  • 如何用Python绘制两个圆之间的8条公切线
  • 从原理到实战讲解回归算法!!!
  • FastAPI 与数据库交互示例
  • 集成Langfuse和Langchain:简化开发,增强自然语言理解能力
  • 解决“‘mvn‘ 不是内部或外部命令,也不是可运行的程序”错误