私はPlantUMLを使用して単純なクラス図を作成していますが、ツールは素晴らしいですが、クラスをパッケージに配置するか、Alice -left- * Bobのような関係を使用する以外は、クラスを互いに整列させる方法を見つけることができませんでした。私が必要なのは次のようなものです:
@startuml
class Bob
class Alice
class Dan
**Dan aligned Alice: horizontally**
'or using a grid?
**Bob at grid (2, 3)**
@enduml
方法はありますか?
いいえ、それを行う方法はありません。申し訳ありません:( PlantUMLの背後にある考え方は、レイアウトのレンダリングについてあまり気にする必要がないということです。
実際、PlantUMLの初期のバージョンではクラスの整列に使用されていましたが、問題がありました。無関係なクラスが多数ある場合、ダイアグラムは非常に大きく、非常に薄くなる傾向がありました。したがって、パッチを追加してクラスを正方形に整理しました。
ダイアグラムにいくつのクラスが必要ですか?確かに、例えば、組織化パッチを無効にすることは可能でしょう。 3〜5クラス。 フォーラム に提案を投稿して、他のユーザーの意見を見ることができます。
アップデート2019.08.08
Rotsiserのコメントから、行の長さの変更とTogetherキーワードを組み合わせることで、要素を整列させることができます
@startuml
class A
A ..> B
C ---> B
D ...> B
together {
class E
class F
class G
}
E ----> B
@enduml
時代遅れ
「-」、「。」などの行の文字数を変更することにより、要素を揃えることができます。
@startuml
class A
A ..> B
C ---> B
D ...> B
E ----> B
F ----> B
G ----> B
@enduml
よりクリーンなアプローチは、より論理的な隠しパッケージにそれらを配置することです。
@startuml
skinparam shadowing false
skinparam package<<Layout>> {
borderColor Transparent
backgroundColor Transparent
fontColor Transparent
stereotypeFontColor Transparent
}
package x <<Layout>>{
class A
class B
}
A .. D
B .. C
C .. D
A1 .. D1
B1 .. C1
C1 .. D1
@end
これが解決策です。
ドキュメント: "矢印内に左、右、上、または下のキーワードを追加して、矢印の方向を変更することもできます:"
@startuml
foo -left-> dummyLeft
foo -right-> dummyRight
foo -up-> dummyUp
foo -down-> dummyDown
@enduml
あなたの質問に:
@startuml
class Bob
class Alice
class Dan
Alice -left[hidden]-> Bob
Alice -right[hidden]-> Dan
@enduml
それはまた役に立つかもしれません:
@startuml
class Bob
class Alice
class Dan
Bob -right-|> Alice
Alice -right-> Dan
interface Friend
Dan -up..> Friend
interface Person
Friend -left-> Person
interface Object
Person -down-> Object
interface Native
Object -right-> Native
@enduml
hidden package
は必要ありません。together
キーワードを使用してください:
together {
class A
class B
}