gpt4 book ai didi

uml - 如何重新排列 UML 状态图中的 block

转载 作者:行者123 更新时间:2023-12-04 02:28:03 29 4
gpt4 key购买 nike

我刚刚创建了一个状态图,现在我正在努力解决块的位置。我的目标是将状态 1、2、4、5 放在“向下”行中,将状态 3 放在状态 1 的右侧。
查看我的 UML 代码以及当前(左)和想要(右)设计的附加屏幕截图
UML 代码:

@startuml diagramStackO
scale 400 width
[*] -down-> State1
State1 -down-> State2
State1 -right-> State3
State2 -up-> State3
State2 -down-> State4
State4 --> State5
State5 --> [*]
@enduml
屏幕截图(左:当前右:它应该是什么样子)
enter image description here

最佳答案

我的第一个建议是忽略它并继续......在 PlantUML 中调整图表以使其“恰到好处”,即使是小事,也会占用大量时间。
然而,作为一个花费太多时间让他们的图表恰到好处的人,有两件事会浮现在脑海中。
使用 ortho第一个是添加 skinparam linetype ortho .这是最少的工作,但也提供最少的改进:

@startuml
skinparam linetype ortho

[*] -down-> State1
State1 -down-> State2
State1 -right-> State3
State2 -up-> State3
State2 -down-> State4
State4 --> State5
State5 --> [*]
@enduml
使用隐藏容器
另一个是添加一个隐藏的容器,我认为这会做得更多,但不会太多。
要获得所需的垂直对齐,需要将状态组合在一起:

我们现在需要做的就是隐藏容器:

我用来实现这个效果的代码是:
@startuml
skinparam {
shadowing false

state {
BackgroundColor<<HIDDEN>> hidden
BorderColor<<HIDDEN>> hidden
}
}


state " " as _ <<HIDDEN>> {
state State1
state State2
state State4
state State5
}


[*] -down-> State1
State1 -down-> State2
State1 -right-> State3
State2 -right-> State3
State2 -down-> State4
State4 --> State5
State5 --> [*]
@enduml

关于uml - 如何重新排列 UML 状态图中的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66042200/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com