思維速覽:
本文將詳細介紹如何利用DeepSeek結合Mermaid語法繪制各類專業圖表,幫助你提高工作效率和文檔質量。
▍DeepSeek入門使用請看:deepseek保姆級入門教程(網頁端使用 + 本地客戶端部署 + 使用技巧)
DeepSeek官網:?DeepSeek
一、Mermaid簡介
Mermaid是一個基于JavaScript的圖表繪制工具,它允許用戶使用類似于Markdown的文本語法來創建和修改圖表。
Mermaid官網:Mermaid | Diagramming and charting tool
Mermaid在線編輯器:Online FlowChart & Diagrams Editor - Mermaid Live Editor
最大的優勢在于不需要專業的圖形設計軟件,就能通過簡單的代碼創建出清晰、專業的圖表。
二、DeepSeek與Mermaid結合的優勢
- 簡單易用:無需安裝額外軟件,直接在DeepSeek對話中編寫代碼
- 即時反饋:代碼編寫完成后即可查看渲染效果
- 多種圖表支持:流程圖、時序圖、類圖等多種類型全覆蓋
- 易于修改:只需調整代碼即可更新圖表,無需重新繪制
markdown中使用mermaid繪圖,寫好語句后要用:
```mermaid + ```包裹寫好的語句,之后會顯示渲染后的圖的效果
- 1
例如:我讓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官方文檔:Mermaid | Diagramming and charting tool
- Markdown與Mermaid結合使用指南