以多种格式创建简洁有效的图形和图表。
生成内联 SVG 用于插画、图标、图表和示意图。
最佳实践:
xmlns="http://www.w3.org/2000/svg",设置合适的 viewBox 绘制复杂形状,用 绘制基本形状 分组,用 transform 做平移/旋转/缩放 + 复用,支持 font-family font-size text-anchor 等属性 / / role="img" 和 提升可访问性常用模板:
用 Mermaid 语法创建可渲染的图表。
常用图表类型:
<!-- 流程图 -->
graph TD
A[开始] --> B{判断}
B -->|是| C[处理]
B -->|否| D[结束]
<!-- 时序图 -->
sequenceDiagram
Alice->>Bob: 你好
Bob-->>Alice: 嗨
<!-- 思维导图 -->
mindmap
root((主题))
分支1
子项A
子项B
分支2
<!-- 饼图 -->
pie title 分布
"A" : 40
"B" : 30
"C" : 30
<!-- 类图 -->
classDiagram
class Animal {
+name: string
+move(): void
}
<!-- 状态图 -->
stateDiagram-v2
[*] --> 待处理
待处理 --> 进行中: 开始
进行中 --> 已完成: 完成
**何时使用:** 流程图、时序图、甘特图、思维导图等需要交互式渲染的场景,优先用 Mermaid。
### 3. Graphviz DOT
用 DOT 语言绘制有向图、无向图、层次图等复杂图形。
digraph G {
rankdir=LR;
node [shape=box, style=rounded];
A -> B -> C;
A -> D [label="可选"];
subgraph cluster_1 {
label="子图";
E -> F;
}
}
**何时使用:** 复杂的结构图、依赖关系图、类层次图、自动布局需求时优先用 Graphviz。
### 4. ASCII / Unicode 绘图
在纯文本环境中(终端、注释、文档)绘制简单图形。
**基本元素:**
- 框线: `─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼`(Unicode 盒绘制)
- 箭头: `→ ← ↑ ↓ ↔ ↕`
- 块: `█ ▓ ▒ ░ ▄ ▀`
- 其他: `● ○ ■ □ ◆ ◇ ▲ △ ▼ ▽ ★ ☆`
**示例:**
┌─────────────┐ ┌─────────────┐
│ 客户端 │────▶│ 服务器 │
└─────────────┘ └─────────────┘
│ │
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ 缓存 │ │ 数据库 │
└─────────────┘ └─────────────┘
## 格式选择指南
| 需求 | 推荐格式 |
|------|---------|
| 图标、插画、自定义图形 | SVG |
| 流程图、时序图、甘特图 | Mermaid |
| 复杂结构图、层次图 | Graphviz DOT |
| 终端显示、代码注释 | ASCII/Unicode |
| 数据可视化(柱状/折线/饼图) | SVG 或 Mermaid |
| 网络/架构图 | SVG 或 Mermaid |
共 1 个版本