介绍
PlantUML 是一个开源 文本驱动的绘图工具,用于快速创建 UML(统一建模语言)图形,无需拖拽画布。如类图、时序图、用例图、活动图等。
通过 简单的文本描述语言 定义图形,并将其转换为高质量的图像格式(如 PNG 或 SVG)
底层依赖:Graphviz
在线使用网址
https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa700003
开源网址
https://github.com/plantuml/plantuml
支持导出格式
PNG、SVG、PDF、Markdown 可识别图、ASCII 文本图等。
文件后缀
保存 PlantUML 的文件后缀:.puml / .plantuml
优势
- 纯文本编写
代码即是图纸,可存入 Git,方便对比变更、协作;Visio、Draw.io 文件是二进制,难以 diff。 - 语法简单易学
不需要学习复杂绘图操作,专注表达业务逻辑。 - 支持超多图表类型
时序图、类图、用例图、活动图、流程图、架构图、ER数据库图、甘特图、网络图等。 - 生态强大
VS Code、IDEA、Typora、Obsidian、GitBook、MkDocs 全部支持集成;可命令行批量生成图片。
支持的常用图(UML + 非UML)
UML 标准图
- 时序图(Sequence Diagram)⭐开发最常用
- 类图(Class Diagram)后端设计必备
- 用例图(Use Case)
- 活动图(Activity Diagram,流程图)
- 状态图(State Diagram)
- 组件图、部署图
扩展图表
- ER 实体关系图(数据库表结构)
- 架构图(C4架构图)
- 甘特图、思维导图
- 网络图、流程图、看板
例子
下面是时序图:
@startuml
用户 -> 前端: 发起请求
前端 -> 后端: HTTP调用
后端 --> 前端: 返回数据
前端 --> 用户: 展示页面
@enduml
把这段代码交给 PlantUML 引擎,直接生成时序图。
运行方式
- 在线预览(快速试用)
官网在线编辑器:https://www.plantuml.com/plantuml/ - 编辑器插件
- VS Code:PlantUML 插件(需要 Graphviz)
- IntelliJ IDEA:PlantUML Integration
- Typora / Obsidian:原生支持 PlantUML 代码块渲染
- 命令行
通过plantuml.jar批量解析.puml文件自动导出图片⚠️ 依赖:PlantUML 底层依赖 Graphviz(dot),本地环境必须安装 Graphviz,否则无法渲染。
典型适用场景
- 软件架构设计、接口时序流程图
- 数据库ER模型设计
- 技术文档、接口文档嵌入示意图
- 自动化文档流水线(CI自动生成架构图)
- 团队规范统一绘图风格,避免每个人画图样式混乱
优缺点
✅ 优点:
- 文本形式,适合代码仓库管理
- 自动化、可批量生成
- 跨平台、编辑器通用
- 语法标准化,团队统一图纸风格
❌ 缺点:
- 高度自定义美观样式学习成本较高
- 不适合复杂自由布局、大量不规则图形
- 本地部署需要额外安装 Graphviz