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…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...