如何让PlantUML中类按代码顺序从上到下排列而非从下到上?
PlantUML 按代码顺序从上到下排列类的解决方案
要在保持代码可读性、避免手动定位组件的前提下,让C1(含C1a)、C2、C3按代码编写顺序从上到下排列,可通过以下两种简洁方式实现:
方法一:调整方向优先级
先设置top to bottom direction,再声明left to right direction,既保留横向布局的特性,又会让类按照代码顺序从上到下排列:
@startuml Example top to bottom direction left to right direction class "C1" {} class "C1a" {} "C1" <|-- "C1a" class "C2" {} class "C3" {} @enduml
方法二:反转布局方向
如果已经使用left to right direction,直接添加reverse direction指令,即可反转默认的从下到上垂直排列逻辑,让类按代码编写顺序从上到下展示:
@startuml Example left to right direction reverse direction class "C1" {} class "C1a" {} "C1" <|-- "C1a" class "C2" {} class "C3" {} @enduml
原理说明
PlantUML基于Graphviz布局引擎,默认left to right direction(对应Graphviz的LR方向)会从下到上渲染垂直方向的元素。上述两种方法通过调整布局优先级或反转渲染顺序,实现了按代码顺序排列的需求,全程无需添加隐藏箭头这类侵入式定位代码,保证了代码的可维护性。
内容的提问来源于stack exchange,提问作者Olivier Cailloux
相关产品推荐
相关产品推荐

