Plantuml - 组件和包的重新排列

HKC*_*C72 6 uml plantuml

我尝试按第一个屏幕截图所示排列组件和包。有没有机会这样做(截图1) 在此输入图像描述

请在此处找到我当前的方法(屏幕截图 2)

在此输入图像描述

和这里的 uml 脚本:

@startuml
package "packageA" {
  [componentA]
}

package "packageB" {
  [componentB1] - [componentB2]
  [componentB2]
}

package "packageC" {
  [componentC1] - [componentC2]
  [componentC2]
}

package "packageD" {
  [componentD]
}



componentA --> componentB1
componentA --> componentC1
componentB2 -right-> [componentD]
componentC2 -right-> [componentD]

@enduml
Run Code Online (Sandbox Code Playgroud)

Chr*_*phe 5

使用从左到右的方向,并忽略包中的明确方向,您可以大致得到您想要的内容:

@startuml
left to right direction

skinparam package {
    backgroundColor Gray
}
skinparam component {
    backgroundColor Gold
}

package "packageA" {
  [componentA]
}
package "packageB" {
  [componentB1] -- [componentB2]
}
package "packageC" {
  [componentC1] -- [componentC2]
}
package "packageD" {
  [componentD]
}

componentA --> componentB1
componentA --> componentC1
componentB2 --> [componentD]
componentC2 --> [componentD]
@enduml
Run Code Online (Sandbox Code Playgroud)

包含灰色封装和金色组件的封装图,水平对齐,但垂直堆叠多组件封装

垂直对齐不容易控制。我相信问题来自组件之间的链接,而可能有人尝试调整包。

在这方面,从上到下的对齐可以更好地居中。在某些情况下也有帮助的是添加一些-[hidden]->链接,这些链接似乎也在对齐/居中考虑在内,但在这种相当平坦的情况下,它并没有太大变化。

演示