Plantuml - 组件和包的重新排列

6

我尝试按照第一个截图所示的方式安排组件和包。是否有可能像这样做 (截图1) enter image description here

请在这里查看我的当前方法 (截图2)

enter image description here

这里是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
1个回答

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

水平排列的灰色包和金色组件的包图,但是多组件的包垂直堆叠

垂直对齐并不容易控制。我相信问题出在组件之间的连接上,因为可能有一些尝试去对齐这些包。

从上到下的对齐方式在这方面可以更好地居中。在某些情况下,添加一些-[hidden]->链接也可以帮助对齐/居中,但在这种比较平坦的情况下,它并没有太大改变。

演示


谢谢Christophe :) 这解决了我99%的问题。 - HKC72

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接