PlantUml定义组件的相对位置

Moe*_*ald 21 plantuml

我实际上是想用它生成一个组件图PlantUml.是否可以定义不同组件的相对位置?想要定义的是:ComponentB来自ComponentA.ComponentC低于ComponentA,......

Pet*_*nak 28

一种典型的方法是将一行标记为隐藏.

要记住的一点是,hidden只支持从左到右->和从上到下的-->行,因此您需要相应地放置左侧和右侧(X <[hidden]- Y似乎不支持语法).

@startuml
class ComponentA

ComponentB -[hidden]> ComponentA
ComponentA -[hidden]-> ComponentC
@enduml
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • @Pod现在在这里提到http://plantuml.com/class-diagram#27 (3认同)
  • &gt; 仅支持从左到右 -&gt; 和从上到下 --&gt; 行 TIL。文档中没有提到该功能! (2认同)

Bor*_*kov 14

您可以从这里遵循指南: 分组组件的布局

通常,当您编写像 -> 这样的连接时,您只需要知道右箭头、左箭头、下箭头、上箭头的特殊符号:这对 plantUml 具有特殊含义:

 -l->
 -r->
 -u->
 -d->
Run Code Online (Sandbox Code Playgroud)

这意味着如果可能,将箭头放在左侧或右侧或向上或向下。

让我们想象一下这张图:

@startuml
node "My system" {
  [A] -> [B]
  [C] -> [B]
}
@enduml
Run Code Online (Sandbox Code Playgroud)

位置不好

这看起来很可怕,您可以通过使用箭头方向指示 PlanUml 来解决此问题。

@startuml
node "My system" {
  [A] -d-> [B]
  [C] -r-> [B]
}
@enduml
Run Code Online (Sandbox Code Playgroud)

会产生这个:

好位置

  • 为什么这不是公认的答案这是完美的,除非你不能结合`[hidden]`和`-u|d|l|r-&gt;` (2认同)
  • 您可以将它们结合起来。但它很挑剔(组织 PlantUML 状态的所有事情似乎都是如此)。`STATE0 -up[hidden]-&gt; STATE1: TEST` 确实可以工作,但可能与只有一个 `-` 的情况不同,如 `STATE0 -up[hidden]&gt; STATE1: TEST`。 (2认同)