8

我的 PlantUML 代码如下所示

package "parent" {
  package "child1" {
  }

  package "child2" {
  }

  package "child3" {
  }

  //and so on...
}

渲染图并排所有子包,因此图太宽。有没有办法强制所有包child2低于(换行符)之前的包?

4

2 回答 2

7

如this answer中所述,最简单的方法是使用隐藏链接。但是,为了确保更好的布局并最大限度地减少隐藏链接的数量,请使用together关键字“分组”对象。组中的所有对象将保持由单个链接设置的相同相对位置。

您的示例的扩展版本

package "parent" {
  together {
    package "childA2" {
    }

    package "childA1" {
    }
  }

  together {
    package "childB4" {
    }

    package "childB3" {
    }

    package "childB2" {
    }

    package "childB1" {
    }
  }


  together {
    package "childC2" {
    }

    package "childC1" {
    }
  }
  childA1 -[hidden]-> childB1
  childB1 -[hidden]-> childC1
}

将产生下图。

在此处输入图像描述

于 2017-04-18T00:44:00.580 回答
3

典型的方法是添加隐藏边,如PlantUML的布局帮助部分所述。

例如

package "parent" {
  package "child1" {
  }

  package "child2" {
  }

  package "child3" {
  }

  child1 -[hidden]-> child2
  ' you can add more space by adding more dashes
  child2 -[hidden]---> child3

}
于 2017-04-16T12:28:22.480 回答