You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PlantUML组件图如何设置port端口显示在组件垂直边缘

PlantUML组件端口贴合垂直边缘配置方法

原有问题代码

@startuml
skinparam componentStyle rectangle
component A1 {
   port P1
   [E1]
   [E2]
   [E1] -r-> [E2]
   [E2] -r-> P1
}
component A2 {
   port P2
   [E1] as e
   P2 -r-> e
}
P1 -r-> P2
@enduml

原有渲染效果

当前渲染效果截图
上述代码将port声明写在组件内部块中,PlantUML会默认把端口识别为内部元素参与排布,无法自动吸附到组件垂直边缘,和预期效果存在差异。

调整方案

核心修改点

  • 调整端口声明逻辑:不再将port写在component的大括号块内,先声明组件本身,再通过port 端口名 at 组件名 方位语法直接把端口绑定到组件指定边缘,方位支持left/right/top/bottom四个方向
  • 增加端口样式配置:通过skinparam统一设置端口形状、边框、填充色,匹配参考图的视觉效果
  • 内部逻辑完全保留:组件内的元素、连接关系不需要改动,仅调整端口声明规则即可

调整后完整代码

@startuml
skinparam componentStyle rectangle
' 配置端口样式为矩形,和参考效果一致
skinparam port {
  BackgroundColor white
  BorderColor black
  Shape rectangle
}

' 提前声明绑定在组件边缘的端口
component A1
port P1 at A1 right
component A2
port P2 at A2 left

' 定义组件内部结构与连接
A1 {
  [E1]
  [E2]
  [E1] -r-> [E2]
  [E2] -r-> P1
}
A2 {
  [E1] as e
  P2 -r-> e
}

' 组件间端口连接
P1 -r-> P2
@enduml

预期实现效果

期望效果截图
调整后P1会固定显示在A1的右侧垂直边缘,P2固定显示在A2的左侧垂直边缘,所有原有连接关系保持不变。


内容的提问来源于stack exchange,提问作者chuong vo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 00:42:14