DeepSeek进阶应用(一):结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)
🌟前言:
在软件开发、项目管理和系统设计等领域,图表是表达复杂信息的有效工具。随着AI助手如DeepSeek的普及,我们现在可以更轻松地创建各种专业图表。
名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)目录
- 一、Mermaid简介
- 二、DeepSeek与Mermaid结合的优势
- 三、常见图表类型及实例
- 1. 流程图 (Flowchart)
- 基本语法
- 示例
- 2. 时序图 (Sequence Diagram)
- 基本语法
- 示例
- 3. 类图 (Class Diagram)
- 基本语法
- 示例
- 4. 状态图 (State Diagram)
- 基本语法
- 示例
- 5. 甘特图 (Gantt Chart)
- 基本语法
- 示例
- 6. 饼图 (Pie Chart)
- 基本语法
- 示例
- 四、高级技巧
- 1. 样式定制
- 2. 子图
- 3. 注释和说明
- 4.常见问题与解决方案
- 五、实际应用场景
- 1.软件开发文档
- 2.业务流程分析
- 小结
很高兴你打开了这篇博客,更多好用的软件工具,请关注我、订阅专栏《实用软件与高效工具》,内容持续更新中…
思维速览:
本文将详细介绍如何利用DeepSeek结合Mermaid语法绘制各类专业图表,帮助你提高工作效率和文档质量。
▍DeepSeek入门使用请看:deepseek保姆级入门教程(网页端使用 + 本地客户端部署 + 使用技巧)
DeepSeek官网: https://www.deepseek.com/
一、Mermaid简介
Mermaid是一个基于JavaScript的图表绘制工具,它允许用户使用类似于Markdown的文本语法来创建和修改图表。
Mermaid官网:https://mermaid.js.org/

Mermaid在线编辑器:https://mermaid.live/edit

最大的优势在于不需要专业的图形设计软件,就能通过简单的代码创建出清晰、专业的图表。
二、DeepSeek与Mermaid结合的优势
- 简单易用:无需安装额外软件,直接在DeepSeek对话中编写代码
- 即时反馈:代码编写完成后即可查看渲染效果
- 多种图表支持:流程图、时序图、类图等多种类型全覆盖
- 易于修改:只需调整代码即可更新图表,无需重新绘制
markdown中使用mermaid绘图,写好语句后要用:
```mermaid + ```包裹写好的语句,之后会显示渲染后的图的效果
例如:我让DeepSeek使用Mermaid绘制一个流程图示例

Mermaid语句内容是这样的:
graph TDA([开始]) --> B[输入用户名和密码]B --> C{格式验证}C -->|验证失败| D[提示格式错误]C -->|验证通过| E[请求登录接口]E --> F{登录结果}F -->|成功| G[跳转到主页]F -->|失败| H[提示密码错误]G --> I([结束])H --> BD --> Bstyle A fill:#4CAF50,color:whitestyle I fill:#4CAF50,color:whitestyle D fill:#FF5722,color:whitestyle H fill:#FF5722,color:whitestyle G fill:#2196F3,color:white
对应的流程图渲染效果:

三、常见图表类型及实例
1. 流程图 (Flowchart)
流程图是最常用的图表类型之一,适合展示算法、业务流程或决策过程。
基本语法
graph 方向节点1[文本] --> 节点2[文本]
方向可以是:
- TB - 从上到下
- TD - 从上到下(与TB相同)
- BT - 从下到上
- RL - 从右到左
- LR - 从左到右
示例
graph TDA[开始] --> B{是否有问题?}B -->|是| C[解决问题]B -->|否| D[完成]C --> DD --> E[结束]

2. 时序图 (Sequence Diagram)
时序图用于展示对象之间的交互,特别适合表达系统组件间的通信流程。
基本语法
sequenceDiagram参与者A->>参与者B: 消息内容参与者B-->>参与者A: 返回内容
示例
sequenceDiagram用户->>+前端: 发起请求前端->>+后端API: 传递数据后端API->>+数据库: 查询数据数据库-->>-后端API: 返回结果后端API-->>-前端: 返回处理后的数据前端-->>-用户: 展示结果

3. 类图 (Class Diagram)
类图用于展示系统中的类以及它们之间的关系,是面向对象设计的重要工具。
基本语法
classDiagram类A <|-- 类B类A : +属性1类A : +方法1()
示例
classDiagramPerson <|-- StudentPerson <|-- TeacherPerson : +String namePerson : +int agePerson : +void talk()Student : +int studentIdStudent : +void study()Teacher : +String subjectTeacher : +void teach()

4. 状态图 (State Diagram)
状态图用于描述系统或对象在不同状态之间的转换。
基本语法
stateDiagram-v2[*] --> 状态1状态1 --> 状态2: 触发条件状态2 --> [*]
示例
stateDiagram-v2[*] --> 待处理待处理 --> 处理中: 开始处理处理中 --> 已完成: 处理完毕处理中 --> 异常: 出现问题异常 --> 处理中: 解决问题已完成 --> [*]

5. 甘特图 (Gantt Chart)
甘特图用于项目管理,展示任务的开始、结束时间和持续时间。
基本语法
gantttitle 项目名称dateFormat YYYY-MM-DDsection 阶段名任务名 :task-id, 开始日期, 持续时间
示例
gantttitle 网站开发项目计划dateFormat YYYY-MM-DDsection 规划阶段需求分析 :a1, 2023-06-01, 7d概要设计 :a2, after a1, 5dsection 开发阶段详细设计 :b1, after a2, 10d编码实现 :b2, after b1, 15dsection 测试阶段单元测试 :c1, after b2, 5d集成测试 :c2, after c1, 5d系统测试 :c3, after c2, 5dsection 部署阶段发布准备 :d1, after c3, 3d上线部署 :d2, after d1, 2d

6. 饼图 (Pie Chart)
饼图用于展示数据的比例关系。
基本语法
pietitle 标题"分类1" : 数值1"分类2" : 数值2
示例
pietitle 项目资源分配"前端开发" : 35"后端开发" : 30"数据库" : 15"测试" : 10"部署运维" : 10

四、高级技巧
1. 样式定制
在流程图中,你可以通过以下方式自定义节点样式:
graph TDA[普通节点] --> B(圆角节点)B --> C{条件节点}C -->|是| D((圆形节点))C -->|否| E>标签节点]

2. 子图
使用subgraph创建子图,对相关节点进行分组:
graph TBsubgraph 子系统1A[组件A] --> B[组件B]endsubgraph 子系统2C[组件C] --> D[组件D]endB --> C

3. 注释和说明
在时序图中添加注释:
sequenceDiagramAlice->>Bob: 发送请求Note right of Bob: Bob思考中Bob-->>Alice: 发送响应

4.常见问题与解决方案
- 图表不显示:确保语法正确,特别是缩进和标点符号
- 布局混乱:尝试调整方向(TD/LR等)或减少节点数量
- 文本溢出:缩短节点文字或使用换行符
<br/> - 箭头样式错误:检查箭头语法,如
-->、-->>、-.->等
五、实际应用场景
1.软件开发文档
graph LRsubgraph 前端层A[用户界面] --> B[业务逻辑]endsubgraph 服务层C[API网关] --> D[微服务1]C --> E[微服务2]endsubgraph 数据层F[主数据库] --> G[读库1]F --> H[读库2]endB --> CD --> FE --> F

2.业务流程分析
graph TDA[客户下单] --> B{库存检查}B -->|有库存| C[创建订单]B -->|无库存| D[通知缺货]C --> E[支付处理]E -->|支付成功| F[准备发货]E -->|支付失败| G[取消订单]F --> H[物流配送]H --> I[订单完成]

小结
通过DeepSeek结合Mermaid语法,我们可以轻松创建各种专业图表,提高工作效率和文档质量。无论是软件开发、项目管理还是系统设计,这种方式都能帮助我们更清晰地表达和理解复杂信息。
希望本文能对你有所帮助,让我们一起用Mermaid在DeepSeek中创建更多精美实用的图表!
▍参考资料 ▍
- Mermaid官方文档:https://mermaid-js.github.io/mermaid/
- Markdown与Mermaid结合使用指南
很感谢你能看到这里,如果你有哪些想学习的AI,欢迎在评论区分享!
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
相关文章:
DeepSeek进阶应用(一):结合Mermaid绘图(流程图、时序图、类图、状态图、甘特图、饼图)
🌟前言: 在软件开发、项目管理和系统设计等领域,图表是表达复杂信息的有效工具。随着AI助手如DeepSeek的普及,我们现在可以更轻松地创建各种专业图表。 名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者&…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数
nei声明在 src/core/ngx_cycle.h ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle);实现在 src/core/ngx_cycle.c ngx_cycle_t * ngx_init_cycle(ngx_cycle_t *old_cycle) {void *rv;char **senv;ngx_uint_t i, n;ngx_log_t …...
【redis】数据类型之geo
Redis的GEO数据类型用于存储地理位置信息(如经纬度),并提供高效的地理位置查询功能(如计算两地距离、搜索附近地点等)。其底层基于Sorted Set(有序集合)实现,通过Geohash编码将经纬度…...
vue3 vite或者vue2 百度地图(卫星图)离线使用详细讲解
1、在Windows上下载瓦片,使用的工具为: 全能电子地图下载器3.0最新版(推荐) 下载后解压,然后进入目录"全能电子地图下载器3.0最新版(推荐)\全能电子地图下载器3.0\MapTileDownloader" 在这个目录…...
《Python实战进阶》No17: 数据库连接与 ORM(SQLAlchemy 实战)
No17: 数据库连接与 ORM(SQLAlchemy 实战) 摘要 本文深入探讨SQLAlchemy在复杂场景下的高级应用,涵盖四大核心主题: 会话生命周期管理:通过事件钩子实现事务监控与审计追踪混合继承映射:结合单表/连接表继…...
工程化与框架系列(27)--前端音视频处理
前端音视频处理 🎥 引言 前端音视频处理是现代Web应用中的重要组成部分,涉及音频播放、视频处理、流媒体传输等多个方面。本文将深入探讨前端音视频处理的关键技术和最佳实践,帮助开发者构建高质量的多媒体应用。 音视频技术概述 前端音视…...
芋道打包时报错:缺失@unocss插件
在遇到打包时,报这个错误,提示构建失败是因为 ESLint 在加载 unocss 插件时,找不到 unocss/eslint-plugin 模块 解决办法:安装缺失的依赖:保证unocss/eslint-plugin已经被正确安装, 使用以下命令安装&…...
PY32MD320单片机 QFN32封装,内置多功能三相 NN 型预驱。
PY32MD320单片机是普冉半导体的一款电机专用MCU,芯片采用了高性能的 32 位 ARM Cortex-M0 内核,主要用于电机控制。PY32MD320嵌入高达 64 KB Flash 和 8 KB SRAM 存储器,最高工作频率 48 MHz。PY32MD320单片机的工作温度范围为 -40 ~ 105 ℃&…...
深入解析 configService.addListener 使用中的注意事项
在使用 Nacos 的 configService.addListener 方法进行配置监听时,为了确保程序的稳定性、可靠性以及高效性,有诸多注意事项需要我们关注。下面将对这些关键要点进行详细阐述。 一、连接稳定性 1.1 网络连接问题 Nacos 客户端与服务端通过网络进行通信&…...
Windows控制台函数:控制台读取输入函数ReadConsoleA()
目录 什么是 ReadConsoleA? 它长什么样? 怎么用它? 它跟 std::cin 有什么不一样? 注意事项 什么是 ReadConsoleA? ReadConsoleA 是一个 Windows API 函数,用来从控制台读取用户输入。想象一下&#…...
奇安信 2025 年护网蓝队初选笔试题(附答案解析)
🔥 爆款 CSDN 题库 | 超全护网蓝队笔试真题 | 含详细答案解析 🔥 熬夜为大家整理了 奇安信 2025 年护网蓝队初选笔试题,(关注我我会持续更新)涵盖 SQL 注入、Web 安全、渗透测试、二进制安全 等核心知识点,…...
国产编辑器EverEdit - Web预览设置
1 设置-高级-Web预览 1.1 设置说明 选择主菜单工具 -> 设置 -> 常规,在弹出的选项窗口中选择Web预览分类,如下图所示: 1.1.1 本地浏览HTML文件 如果用户只是在本地浏览HTML文件,即直接用浏览器打开HTML文件,确…...
P8686 [蓝桥杯 2019 省 A] 修改数组--并查集 or Set--lower_bound()的解法!!!
P8686 [蓝桥杯 2019 省 A] 修改数组--并查集 题目 并查集解析代码【并查集解】 Set 解法解析lower_bound代码 题目 并查集解析 首先先让所有的f(i)i,即每个人最开始的祖先都是自己,然后就每一次都让轮到那个数的父亲1(…...
HTML 编辑器推荐与 VS Code 使用教程
在进行 HTML 编程时,选择一款合适的 HTML 编辑器能极大地提高开发效率。以下为大家推荐几款常用且功能强大的 HTML 编辑器,同时详细介绍如何使用 VS Code 创建和预览 HTML 文件。 一、HTML 编辑器推荐 VS Code:由微软开发,是一款…...
MyBatis增删改查:静态与动态SQL语句拼接及SQL注入问题解析
MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。本文将深入探讨 MyBatis 中的增删改查操作,重点讲解静态与动态 SQL 语句的拼接,并分析 S…...
在运维工作中,Lvs、nginx、haproxy工作原理分别是什么?
在运维工作中,LVS、NGINX和HAProxy都是常用的负载均衡和反向代理工具,它们在高可用性和负载均衡场景中发挥重要作用。以下是其原理和应用场景详解: LVS(Linux Virtual Server) 工作原理 LVS是基于Linux内核的负载均…...
linux学习(五)(服务器审查,正常运行时间负载,身份验证日志,正在运行的服务,评估可用内存)
服务器审查 在 Linux 中审查服务器的过程包括评估服务器的性能、安全性和配置,以确定需要改进的领域或任何潜在问题。审查的范围可以包括检查安全增强功能、检查日志文件、审查用户帐户、分析服务器的网络配置以及检查其软件版本。 Linux 以其稳定性和安全性而闻名…...
Java在小米SU7 Ultra汽车中的技术赋能
目录 一、智能驾驶“大脑”与实时数据 场景一:海量数据的分布式计算 场景二:实时决策的毫秒级响应 场景三:弹性扩展与容错机制 技术隐喻: 二、车载信息系统(IVI)的交互 场景一:Android Automo…...
开发环境搭建-02.后端环境搭建-熟悉项目结构
一.后端环境搭建...
js实现pdf文件路径预览和下载
预览 直接浏览器窗口打开默认就是预览 window.open(文件路径)下载 function downloadPDF(url, filename) {fetch(url).then(response > response.blob()).then(blob > {const link document.createElement(a);link.href URL.createObjectURL(blob);link.download fi…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
