如何使用 PlantUML 绘图
如何使用 PlantUML 绘图
关于 plantUML
参考文献:https://plantuml.com/zh-dark/sequence-diagram (opens in a new tab)
-
简介:
- PlantUML 基于文本的描述来生成 UML 图表。这意味着用户只需编写描述性的文本代码,然后 PlantUML 会根据这些代码自动生成相应的 UML 图表。
-
语言和语法:
- PlantUML 使用简洁的 DSL (特定领域语言) 来描述 UML 图表。例如,使用
-->来表示两个类之间的关系,使用class ClassName来定义一个类等。
- PlantUML 使用简洁的 DSL (特定领域语言) 来描述 UML 图表。例如,使用
-
支持的 UML 图表类型:
- PlantUML 支持多种 UML 图表类型,包括序列图、用例图、类图、活动图、组件图、状态图等。
-
集成与扩展性:
- 由于 PlantUML 是开源的,所以它可以轻松地与其他工具和应用程序集成,如 Visual Studio Code、IntelliJ IDEA、Jenkins 等。
- 它还允许用户自定义图的外观、颜色和样式,以匹配特定的需要。
-
工具链和生成:
- PlantUML 使用 Graphviz 工具来生成图表,所以为了使用 PlantUML,您可能需要在您的系统上安装 Graphviz。
- PlantUML 可以生成多种格式的图像,包括 PNG、SVG、ASCII 等。
-
在线工具和编辑器:
- 如果你不想在本地安装,PlantUML 也有一个在线版本,你可以直接在浏览器中编写 PlantUML 代码并生成 UML 图表。
-
用途:
- 由于其简洁的文本描述和快速的图形生成,PlantUML 常被用于项目文档、开发工作流、架构设计以及其他需要可视化的场景。
总的来说,PlantUML 是一个强大且灵活的工具,使得创建、分享和集成 UML 图表变得非常容易。其基于文本的方法意味着 UML 描述可以很容易地存储在版本控制系统中,从而提高团队的协作效率。
使用
可以使用语雀等笔记工具 支持 plantUML 文本绘制功能

示例
@startuml
skinparam packageStyle rectangle
left to right direction
' 定义 Client 部分
package "Client" {
' 定义 Material 部分
package "Material Group" {
[MaterialA]
[MaterialB]
[MaterialC]
}
' 定义 LowCode 部分
package "LowCode" {
[Editor Engine]
}
}
' 定义 Service 部分
package "Service" {
[Material Controller]
}
' 定义 DB 部分
database "DB" {
[MaterialA] --> [Editor Engine]
[MaterialB] --> [Editor Engine]
[MaterialC] --> [Editor Engine]
[Editor Engine] --> [Material Controller]: 物料维度的 \n API 调用 (增删改查)
[Material Controller] --> [MaterialA Model]: 只对变更部分 \n 的物料进行持久化存储
[Material Controller] --> [MaterialB Model]
[Material Controller] --> [MaterialC Model]
}
@enduml
字段解释
当然可以,以下是你给出的代码中各部分的解释和它们在PlantUML中的意义:
-
@startuml和@enduml- 这是PlantUML图表的开始和结束标记。所有PlantUML图表都必须以这两个标记开始和结束。
-
skinparam- 用于自定义UML图的外观和样式。它允许用户为图中的各种元素设置颜色、字体、大小等属性。
-
left to right direction- 这告诉PlantUML你想从左到右绘制图,而不是默认的从上到下。
-
package- 在UML中,包是用来分组类、接口等的。在这个场景中,它被用作逻辑容器来组织和分组相关的组件或实体。
-
database- 一个特殊的组件,用于表示数据库或存储系统。
-
[...]- 方括号中的内容表示一个组件或实体。例如
[MaterialA]代表一个名为MaterialA的组件。
- 方括号中的内容表示一个组件或实体。例如
-
-->- 表示两个组件之间的关系或方向。例如,
[MaterialA] --> [Editor Engine]表示MaterialA组件与Editor Engine组件有某种关系,并且方向是从MaterialA到Editor Engine。
- 表示两个组件之间的关系或方向。例如,
-
:- 在关系后面用于添加描述。例如,
[MaterialA] --> [Editor Engine] : Uses表示MaterialA“使用”Editor Engine。
- 在关系后面用于添加描述。例如,
-
skinparam package, skinparam database, skinparam class- 这些用于自定义包、数据库和类的样式和颜色。例如,
BackgroundColor #E0EFFF用于设置背景颜色。
- 这些用于自定义包、数据库和类的样式和颜色。例如,
希望这些解释有助于您更好地理解和使用PlantUML!如果您还有其他问题或需要进一步的解释,请告诉我。
2026 © Lizhenyui.