plantuml:从右到左的箭头,分组的组件

plantuml: Right to left arrows, grouped components

我有下图:

@startuml
left to right direction

rectangle    Foo1
rectangle    Foo2
rectangle    Foo3

node Bar1
node Bar2
node Bar3

storage Baz1
storage Baz2
storage Baz3

Foo1 --> Bar2
Foo2 --> Bar1
Bar1 --> Baz3
Bar2 --> Baz1
@enduml

有些组件是孤立的并且没有箭头。参见 here 它呈现良好,但孤立的组件都列在第一层。

我想修改它,这样我的组件就会像这样排列:


Foo1 -> Bar2 -> Baz1

Foo2 -> Bar1 -> Baz3

Foo3    Bar3    Baz2

更新:

@albert 我们可以使用隐形箭头来达到我们想要的效果。并且有效。

但是如果我们有类似的东西怎么办:

@startuml
left to right direction

rectangle    Foo1
rectangle    Foo3

node Bar1
node Bar2
node Bar3

storage Baz1
storage Baz2
storage Baz3

Foo1 --> Bar2
Bar1 --> Baz3
Bar2 --> Baz1
@enduml

我们会得到这样的结果:+我想我们可以添加以下隐藏箭头:

Foo1 -[#hidden]-> Bar1
Foo1 -[#hidden]-> Bar3
Bar2 -[#hidden]-> Baz2

这会给我们 desired effect 或文本形式:

Foo3   Bar1  Baz3
Foo1   Bar2  Baz1
       Bar3  Baz2

如果我们可以添加不可见组件就太好了 FooH, BarH。即:

FooH -[#hidden]-> Bar1
FooH -[#hidden]-> Bar3
BarH -[#hidden]-> Baz2

也就是说,我们会对不可见的组件使用隐藏的箭头,这会将它们与合法的箭头分开。但是,我找不到将组件标记为不可见的简单方法。

我认为这里的关键点之一是箭头的 [hidden]。 您将开始使用类似的东西:

@startuml
left to right direction

rectangle    Foo1
rectangle    Foo2
rectangle    Foo3

node Bar1
node Bar2
node Bar3

storage Baz1
storage Baz2
storage Baz3

Foo1 --> Bar2
Foo2 --> Bar1
Bar1 --> Baz3
Bar2 --> Baz1
Foo3 -[hidden]-> Bar3
Bar3 -[hidden]-> Baz2
@enduml

编辑

当你想隐藏像Foo1这样的组件时,你可以使用例如

hide Foo1