PlantUML 控制图表外观的指令

130 阅读2分钟

1. hide circle 与 skinparam linetype ortho

PlantUML 中看到的 hide circleskinparam linetype ortho 是两条用于控制图表外观的指令。它们通常用于类图 (Class Diagram) 或实体关系图 (ER Diagram) 等,以优化连接线和消除默认装饰。下面我来解释一下它们的含义和效果。

指令含义与功能适用场景举例
hide circle隐藏元素前的圆形标记。在类图中,这通常用于隐藏接口前的 (O) 圆圈。在 ER 图中,也常用于隐藏实体名称前的圆圈。希望图表更简洁,或绘制不符合默认圆形标记的图表时。
skinparam linetype ortho设置连接线为直角正交模式。这会使线条仅以水平或垂直的直线段连接元素,拐角处呈直角希望图表线条横平竖直,布局更规整、清晰时。

💡 使用方法与示例

只需在 @startuml@enduml 之间的开头部分声明这些指令即可。

@startuml
' 应用设置
hide circle
skinparam linetype ortho

' 以下是你的图表内容
entity "Entity01" as e01 {
  *id : integer
  --
  *name : string
}

entity "Entity02" as e02 {
  *id : integer
  --
  *e01_id : integer <<FK>>
  description : string
}

e01 ||..o{ e02
@enduml

⚠️ 注意事项

  • hide circle 主要影响的是默认出现在接口(或某些实体)名称前的圆形标记。如果你的图中没有这类元素,可能看不到明显效果。它也可以用于隐藏其他元素,如空成员、字段、方法或构造型等。
  • skinparam linetype ortho 是控制全局线条样式的指令之一。其他可选值还有 polyline(折线)和 curved(曲线)。
  • 使用 skinparam linetype ortho 后,PlantUML 会尝试用水平和垂直的线段来连接元素。这在许多情况下可以使图表更规整,但对于非常复杂的布局,有时也需要配合隐藏的连接线 (-[hidden]->) 来辅助调整布局。

🛠️ 如何选择

  • 追求图表简洁,不想显示不必要的装饰符号时,使用 hide circle
  • 希望连接线横平竖直,使图表看起来更整齐、专业时,使用 skinparam linetype ortho
  • 对于数据库的 ER 图,同时使用这两条指令非常常见。

希望这些解释能帮助你更好地使用 PlantUML!