You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

PlantUML图例、页脚、标题间距及水平线实现问题

解决PlantUML序列图的间距与分隔线问题

针对你遇到的三个问题,我整理了PlantUML原生语法范围内的调整方案,完全适配IntelliJ IDEA环境,不会触发报错:

1. 拉开图例与页脚的间距

要解决图例和页脚挤在一起的问题,你可以在endlegendcenter footer之间添加垂直间距指令\vspace{数值},数值越大间距越宽,比如\vspace{15}就能留出足够的空白:

endlegend
\vspace{15}  # 插入垂直间距
center footer MyCompany.com (c) 2020

2. 缩小标题(Caption)与图例的空白

默认情况下Caption和图例之间的间距确实偏大,你可以在Caption之后添加负的垂直间距\vspace{-数值}来拉近两者距离,比如\vspace{-12}就能有效压缩多余空白:

caption \nVersion 1.0 - 6/26/2020 (Draft)\n
\vspace{-12}  # 缩小与图例的间距
autonumber

3. 在序列图内添加水平线划分区域

PlantUML序列图不支持直接使用HTML的<hr>标签,但有自带的分隔线语法:用== 区域名称 ==生成实线分隔,或--- 区域名称 ---生成虚线分隔;如果不需要文字,直接写== ==即可。比如在你的代码里划分不同阶段:

activate DatingRestController
== 内部服务处理 ==  # 水平线划分区域
DatingRestController -> DatingService: processService()

修改后的完整代码

@startuml
skinparam Shadowing false
title __Dating API Sequence Diagram__\n
caption \nVersion 1.0 - 6/26/2020 (Draft)\n
\vspace{-12}  # 缩小Caption与图例的间距
autonumber
activate DatingApp
DatingApp -> DatingRestController: hitExternalApi()
activate DatingRestController
== 内部服务处理 ==  # 水平线划分区域
DatingRestController -> DatingService: processService()
activate DatingService
DatingService -> DatingService: findProfile()
activate DatingService #90EE90
== 嵌套方法执行 ==  # 另一组水平线
DatingService -> DatingService: doSomething()
DatingService -> DatingService: doSomethingElse()
deactivate DatingService
DatingService -> DatingRestController: return retValue
DatingRestController -> DatingApp: jsonPayload
deactivate DatingRestController
deactivate DatingApp
legend bottom right
Legend
|=Color |= Name |= Type |= Lifeline |
|<back:#FFFFFF> </back>| DatingApp.hitExternalApi() | method | default |
|<back:#FFFFFF> </back>| DatingRestController.processService() | method | default |
|<back:#FFFFFF> </back>| DatingService.findProfile | method | default |
|<back:#90EE90> </back>| DatingService.doSomething() | method | nested |
|<back:#90EE90> </back>| DatingService.doSomethingElse() | method | nested |
endlegend
\vspace{15}  # 拉开图例与页脚的间距
center footer MyCompany.com (c) 2020
@enduml

这些调整都是PlantUML原生支持的语法,在IntelliJ IDEA的PlantUML插件中能正常渲染,不会出现报错情况。

内容的提问来源于stack exchange,提问作者PacificNW_Lover

火山引擎 最新活动