给自己发消息
参与者可以给自己发消息. 如图 1-6 所示.
图 1-6
图 1-6 代码 (摘自官方文档)
@startuml
' 若消息很长, 可以使用 "\n" 换行.
' 消息默认是或对齐.
' 参与者名称则是默认中间对齐.
Alice->Alice: This is a signal to self.\nIt also demonstrates\nmultiline \ntext
@enduml
给消息编号
autonumber
. 从 1 开始对消息自动编号.autonumber START
. 从 START 开始对消息自动编号.autonumber START INCREMENT
. 从 START 开始, 按 增量 INCREMENT 对消息自动编号.
图 1-7 展示了上述编号方法.
图 1-7
图 1-7 代码
@startuml
autonumber
Bob -> Alice : Message 1
Bob <- Alice : Message 2
autonumber 15
Bob -> Alice : Message 15
Bob <- Alice : Message 16
autonumber 40 10
Bob -> Alice : Message 40
Bob <- Alice : Message 50
@enduml
序列图分页
通过关键字 newpage
可以将一幅大图切分成小图. 可以给分割得到图加上 title,
语法为 new page TITLE
, 如图 1-8.1, 图 1-8.2, 图 1-8.3 所示.
注意: 图 1-8.1 在底部参与者名称上方加了一条虚线, 表示有被分割的后续图.
图 1-8.2 在顶部参与者名称下方与底部参与者名称上方都加了一条虚线,
表示此图有被分割的前图与后续图. 图 1-8.3 顶部参与者名称下方加了一条虚线,
表示此图有被分割的前图.
图 1-8.1
图 1-8.2
图 1-8.3
图 1-8.x 代码
@startuml
title A title for \nthe first page
Alice -> Bob : message 1
Alice -> Bob : message 2
newpage A title for \nthe middle page
Alice -> Bob : message 3
Alice -> Bob : message 4
newpage A title for \nthe last page
Alice -> Bob : message 5
Alice -> Bob : message 6
@enduml
消息分组
可使用下面的关键字对消息分组, 并且分组可以嵌套.
alt
/alt
opt
par
break
critical
group
end
, 与上面关键字配合, 用于结束一个分组
上述分组关键字 (除 end
) 可以跟文本. 对于 group LABLE
, 作为标签显示 “LABEL”,
其它关键字显示为 “[TEXT]
“. 图 1-9 是这些使用上述关键字的结果图.
图 1-9
图 1-9 代码
@startuml
Alice -> Bob: Message 1
alt Alt text
Bob -> Alice: Message 2
else Else text
Bob -> Alice: Message 3
group Group label
Alice -> Log : Message 4
loop 1000 times
Alice -> Bob: Message 5
end
Alice -> Log : Message 6
end
else Else another text
Bob -> Alice: Message 7
end
@enduml
对消息进行注释说明
注释说明使用下面的关键, 且放于待注释消息紧后一行.
note left : TEXT
note right : TEXT
end note
, 当注释说明文本占多行时, 使用此来结束注释
还可以通过 #COLOR
来指定注释图标的背景色. 效果见图 1-10.
图 1-10
图 1-10 代码
@startuml
Alice ->Bob : Message 1
note left #Red : Note 1
Bob->Alice : ok
note right : Note 2
Bob->Bob : Message 2
note left
Note 3 first line
Note 3 second line
Note 3 last line
end note
@enduml
还可以使用下面的关键字进行注释
note left of 参与者
note right of 参与者
note over
后跟多个参与者, 参与者之间用逗号分隔,
吏得注释的图标在指定的多个参与者生命线上方.
上述关键字也可以通过 #COLOR
来指定注释图标的背景色. 效果见图 1-11.
图 1-11
图 1-11 代码
@startuml
participant Alice
participant Bob
note left of Alice #aqua
This is
left note
end note
note right of Alice: This is right note
note over Alice: This is over note
note over Alice , Bob #FFAAAA: This is \n large over note
note over Bob, Alice
This is
another large over note
end note
@enduml
改变注释图标形状
hnote
, 平行六边形 (hexagon). 若注释文本多行, 以endhnote
结束rnote
, 知形 (rectangle). 若注释文本多行, 以endrnote
结束
这两个关键也可以与 over
边用, 效果见图 1-12.
图 1-12
图 1-12 代码
@startuml
Bob -> Alice : Message 1
hnote over Bob : "h" note
Bob <- Alice: Message 2
rnote over Alice
"r" note
endrnote
@enduml