【问题标题】:PlantUml define relative position of componentsPlantUml 定义组件的相对位置
【发布时间】:2017-12-19 13:45:56
【问题描述】:

我实际上是在尝试使用PlantUml 生成组件图。是否可以定义不同组件的相对位置?我要定义的是:ComponentB 是 ComponentA 留下的。 ComponentC 在 ComponentA 之下,...

【问题讨论】:

标签: plantuml


【解决方案1】:

典型的做法是将一行标记为hidden

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

@startuml
class ComponentA

ComponentB -[hidden]> ComponentA
ComponentA -[hidden]-> ComponentC
@enduml

有关更多定位提示,另请参阅How to correct PlantUML Line Path

【讨论】:

  • >仅支持从左到右 -> 和从上到下 --> 行 TIL。文档中没有提到该功能!
  • @campisano 在上面的评论中提到了一个链接。其中有关于使用 together 关键字将一些类分组在一起的信息:布局引擎将尝试对它们进行分组(就好像它们在同一个包中一样)。
【解决方案2】:

您可以从这里遵循指南: Layout of grouping component

一般来说,当你编写像 -> 这样的连接时,你只需要知道右箭头、左箭头、下箭头、上箭头有特殊符号: 这对plantUml 有特殊意义:

 -l->
 -r->
 -u->
 -d->

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

让我们想象一下这个图表:

@startuml
node "My system" {
  [A] -> [B]
  [C] -> [B]
}
@enduml

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

@startuml
node "My system" {
  [A] -d-> [B]
  [C] -r-> [B]
}
@enduml

会生成这个:

【讨论】:

  • 为什么这不是公认的答案这是完美的,除非你不能结合[hidden]-u|d|l|r->
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多