PlantUML 是基于 Java 语言的开源 UML(Unified Modeling Language)图形绘制工具,可以嵌入 Markdown 以及 HTML
安装
windows可以通过scoop或chocolatey安装
scoop install graphviz
choco install graphviz
vscode可以安装2个扩展插件:
- Markdown Preview Enhanced
- PlantUML
类型
流程图
@startuml
start
:new page;
if (Page.onSecurityCheck) then (true)
:Page.onInit();
if (isForward?) then (no)
if (continue processing?) then (no)
stop
endif
if (isPost?) then (yes)
:Page.onPost();
else (no)
:Page.onGet();
endif
:Page.onRender();
endif
else (false)
endif
stop
@enduml
时序图
@startuml
== Initialization ==
Alice -> Bob: : Can you solve: <math>ax^2+bx+c=0</math>
Bob --> Alice: <math>x = (-b+-sqrt(b^2-4ac))/(2a)</math>
activate Alice #FFBBBB
note left: this is a first note
Alice -> Bob: Another dialogue
deactivate Alice
Alice <-- Bob: Another dialogue
@enduml
类图
@startuml
Class01 <|-- Class02
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml
ER图
@startuml
' hide the spot
hide circle
' avoid problems with angled crows feet
skinparam linetype ortho
entity "Entity01" as e01 {
*e1_id : number <<generated>>
--
*name : text
description : text
}
entity "Entity02" as e02 {
*e2_id : number <<generated>>
--
*e1_id : number <<FK>>
other_details : text
}
entity "Entity03" as e03 {
*e3_id : number <<generated>>
--
e1_id : number <<FK>>
other_details : text
}
e01 ||..o{ e02
e01 |o..o{ e03
@enduml
引用
【1】知乎