Mermaid 图表全展示

本文展示博客目前支持的所有 Mermaid 图表类型。只需在 Markdown 中使用 ```mermaid 代码块,即可自动生成对应的 SVG 图表,且支持亮色/暗色主题自动切换。


1. 流程图 (Flowchart)

最常用的图表类型,支持多种方向与节点样式。

graph TD Start([画面帧输入]) --> CheckName{1. 前置哨兵: Name Box 是否有字?} CheckName -- 无文字 --> Exit([Fail-Fast 退出: 非对话场景]) CheckName -- 有文字 --> CheckTitle{2. 检测 Title 称号框} CheckTitle -- 存在 --> AddTitleOffset[累加 Title 偏置: Y + 25] --> CheckAlias CheckTitle -- 不存在 --> CheckAlias{3. 检测 Alias 别名框} CheckAlias -- 存在 --> AddAliasOffset[累加 Alias 偏置: Y + 30] --> ApplyCoords CheckAlias -- 不存在 --> ApplyCoords[计算出最终的 dl 正文 Bounding Box] ApplyCoords --> CheckDL2{4. 反向高位检测 dl2 行?} CheckDL2 -- 存在 --> TwoLines[当前一定为双行对话] --> DetectChoices CheckDL2 -- 不存在 --> OneLine[单行对话, 仅识别 dl1] --> DetectChoices DetectChoices{5. 反向高位检测 Choice3?} DetectChoices -- 存在 --> C3[判定为 3 个分支选项] DetectChoices -- 否 --> CheckC2{6. 检测 Choice2?} CheckC2 -- 存在 --> C2[判定为 2 个分支选项] CheckC2 -- 否 --> CheckC1{7. 检测 Choice1?} CheckC1 -- 存在 --> C1[1 个分支选项] CheckC1 -- 否 --> C0[无分支纯对话场景]

2. 时序图 (Sequence Diagram)

展示系统或对象之间的交互顺序。

sequenceDiagram autonumber participant U as 用户 participant C as 客户端 participant S as 服务端 participant DB as 数据库 U->>C: 点击登录按钮 C->>S: POST /api/login S->>DB: 查询用户信息 DB-->>S: 返回用户数据 alt 验证成功 S-->>C: 返回 JWT Token C-->>U: 跳转首页 else 验证失败 S-->>C: 401 Unauthorized C-->>U: 显示错误提示 end

3. 类图 (Class Diagram)

描述面向对象系统的类结构与关系。

classDiagram class Animal { +String name +int age +makeSound() +move() } class Dog { +String breed +fetch() } class Cat { +String color +climb() } class Bird { +int wingspan +fly() } Animal <|-- Dog Animal <|-- Cat Animal <|-- Bird Dog "1" --> "0..*" Ball : plays with Cat "1" --> "0..1" Mouse : hunts

4. 状态图 (State Diagram)

展示对象在其生命周期中的状态转换。

stateDiagram-v2 [*] --> 待支付 待支付 --> 已支付: 支付成功 待支付 --> 已取消: 超时/主动取消 已支付 --> 配送中: 商家发货 配送中 --> 已签收: 用户签收 配送中 --> 退回中: 拒收 已签收 --> 已完成: 确认收货 已签收 --> 售后中: 申请退款 退回中 --> 已取消: 退款完成 售后中 --> 已完成: 售后结束

5. ER 图 (Entity Relationship)

数据库实体关系图。

erDiagram USER ||--o{ ORDER : places USER { int id PK string username string email datetime created_at } ORDER ||--|{ ORDER_ITEM : contains ORDER { int id PK int user_id FK decimal total_amount string status datetime created_at } ORDER_ITEM { int id PK int order_id FK int product_id FK int quantity decimal price } PRODUCT ||--o{ ORDER_ITEM : "ordered in" PRODUCT { int id PK string name string category decimal price int stock }

6. 用户旅程图 (User Journey)

展示用户完成任务的体验流程。

journey title 用户在线购物体验 section 浏览商品 搜索商品: 5: 用户 查看详情: 4: 用户 对比价格: 3: 用户 section 下单流程 加入购物车: 5: 用户 填写地址: 3: 用户 选择支付方式: 4: 用户 确认订单: 5: 用户 section 收货评价 物流跟踪: 4: 用户 签收包裹: 5: 用户 撰写评价: 3: 用户

7. 甘特图 (Gantt)

项目进度管理。

gantt title 网站重构项目计划 dateFormat YYYY-MM-DD section 设计阶段 需求分析 :done, a1, 2026-07-01, 7d UI/UX 设计 :done, a2, after a1, 10d 设计评审 :done, a3, after a2, 3d section 开发阶段 前端开发 :active, b1, after a3, 15d 后端 API 开发 :active, b2, after a3, 12d 接口联调 :b3, after b1, 5d section 测试上线 功能测试 :c1, after b3, 7d 性能优化 :c2, after c1, 5d 正式上线 :milestone, c3, after c2, 0d

8. 饼图 (Pie Chart)

数据占比可视化。

pie title 博客访问设备分布 "移动端" : 58 "桌面端" : 32 "平板" : 7 "其他" : 3

9. Git 分支图 (Git Graph)

展示 Git 分支与提交历史。

gitGraph commit id: "init" branch develop checkout develop commit id: "feat: add login" commit id: "feat: add register" checkout main merge develop id: "merge v1.0" tag: "v1.0" branch hotfix checkout hotfix commit id: "fix: security patch" checkout main merge hotfix id: "merge hotfix" checkout develop commit id: "feat: dashboard" commit id: "feat: analytics" checkout main merge develop id: "merge v2.0" tag: "v2.0"

10. 思维导图 (Mindmap)

层级结构的知识梳理。

mindmap root((前端技术栈)) 基础 HTML5 CSS3 JavaScript TypeScript 框架 React Next.js Remix Vue Nuxt Svelte 工程化 Vite Webpack ESLint Prettier 样式 Tailwind CSS Sass/Less CSS Modules 测试 Vitest Playwright Cypress

11. 时间线图 (Timeline)

按时间顺序展示事件。

timeline title 前端框架发展史 2013 : React 发布 : Facebook 开源 2014 : Vue.js 发布 : 尤雨溪创建 2015 : Angular 2 发布 : TypeScript 重写 2016 : Vue 2.0 发布 : 虚拟 DOM 2020 : Vue 3.0 发布 : Composition API : Vite 发布 2023 : React Server Components : Next.js App Router

12. 象限图 (Quadrant Chart)

四象限分析。

quadrantChart title Reach and engagement of campaigns x-axis Low Reach --> High Reach y-axis Low Engagement --> High Engagement quadrant-1 We should expand quadrant-2 Need to promote quadrant-3 Re-evaluate quadrant-4 May be improved Campaign A: [0.3, 0.6] Campaign B: [0.45, 0.23] Campaign C: [0.57, 0.69] Campaign D: [0.78, 0.34] Campaign E: [0.40, 0.34] Campaign F: [0.35, 0.78]

13. 桑基图 (Sankey Diagram)

流量/能量流向可视化。注意桑基图节点名避免使用特殊字符。

sankey-beta Direct,Home,500 Search,Home,800 Social,Home,400 Ads,Home,300 Home,Article,1200 Home,About,200 Home,Tags,600 Article,Comment,400 Article,Share,200 Tags,Article,500 About,Friends,150

14. XY 图表 (XY Chart)

简单的数据图表。

xychart-beta title "Monthly Visits" x-axis [Jan, Feb, Mar, Apr, May, Jun] y-axis "Visits (k)" 0 --> 50 bar [12, 18, 25, 32, 28, 45] line [12, 18, 25, 32, 28, 45]

15. 块图 (Block Diagram)

系统模块关系图。

block-beta columns 3 A["前端应用"] B["API 网关"] C["用户服务"] D["数据库"] E["缓存层"] F["消息队列"] G["日志服务"] A --> B B --> C C --> D C --> E C --> F F --> G

16. 看板 (Kanban)

敏捷开发任务看板。

kanban [Todo] [Design home page] [Create login API] [In Progress] [Add Mermaid support] [Dark mode] [Done] [Setup blog] [RSS feed] [Search]

17. 需求图 (Requirement Diagram)

系统需求追踪。

requirementDiagram requirement Performance { id: 1 text: Page load under 2s risk: high verifymethod: test } requirement Security { id: 2 text: HTTPS only risk: medium verifymethod: inspection } element Frontend { type: module } element Backend { type: module } Performance - verifies -> Frontend Security - verifies -> Backend

18. 雷达图 (Radar)

多维度能力评估。

radar-beta axis A, B, C, D, E curve c1{1, 2, 3, 4, 5} curve c2{5, 4, 3, 2, 1} curve c3{3, 3, 3, 3, 3}

19. C4 架构图 (C4Context)

软件架构上下文图。

C4Context title 博客系统上下文图 Person(reader, "读者", "浏览博客文章的用户") Person(admin, "管理员", "发布和管理文章") System_Boundary(blog, "博客系统") { System(frontend, "前端应用", "MDUI v2 静态博客") System(api, "API 服务", "Waline 评论服务") } System_Ext(cdn, "CDN", "Cloudflare Pages") System_Ext(analytics, "统计服务", "访问数据分析") Rel(reader, frontend, "Uses", "HTTPS") Rel(admin, frontend, "Manages", "HTTPS") Rel(frontend, api, "Comments", "HTTPS") Rel(frontend, cdn, "Assets", "HTTPS") Rel(frontend, analytics, "Tracking", "HTTPS")

20. 架构图 (Architecture)

Beta 版架构图。标签仅支持字母数字和空格。

architecture-beta group api(cloud)[API Layer] service gateway(internet)[Gateway] in api service auth(server)[Auth Service] in api service user_svc(server)[User Service] in api service post_svc(server)[Post Service] in api group data(database)[Data Layer] service db(database)[Database] in data service cache(disk)[Cache] in data gateway:B -- T:auth auth:B -- T:user_svc gateway:B -- T:post_svc user_svc:B -- T:db post_svc:B -- T:db user_svc:B -- T:cache

21. 网络包图 (Packet Diagram)

数据包结构展示。

packet-beta title TCP Header Structure 0-15: "Source Port" 16-31: "Destination Port" 32-63: "Sequence Number" 64-95: "Acknowledgment Number" 96-99: "Data Offset" 100-105: "Reserved" 106: "URG" 107: "ACK" 108: "PSH" 109: "RST" 110: "SYN" 111: "FIN" 112-127: "Window Size" 128-143: "Checksum" 144-159: "Urgent Pointer" 160-191: "Options"

使用方式

在任意 Markdown 文章中,使用以下语法即可插入图表:

```mermaid
graph TD
    A[开始] --> B[处理]
    B --> C[结束]
```

提示:本博客会自动检测 ```mermaid 代码块,将其渲染为交互式 SVG 图表,并跟随系统/博客主题自动切换亮暗配色。

注意:部分图表类型(如桑基图、架构图)对特殊字符敏感,建议节点名使用简单字母数字和空格。