web-dev-qa-db-ja.com

PlantUMLラインパスを修正する方法

次のコードを使用してこの図を作成しました。しかし、ご覧のとおり、(Cancel Order)と(Place Order)から(Publisher)までの行は、右にまっすぐに行ってからパブリッシャーに到達するのではなく、非常に丸いパスを使用してそれらを取得することを決定します。 「-down」のような手動の方向コマンドを使用してみましたが、どれも役に立たなかったようです。誰もこれを修正する方法を知っていますか?

そして、これが私のコードです。私はどんな助けにも感謝します。ありがとうございました。

@startUML EBook Use Case Diagram
left to right direction
Actor Customer as customer
Actor EBook as ebook
Actor Publisher as publisher
rectangle "Book Catalogue" {
    together {
        Actor "Book Database" as bookLog
        (Retrieve Information) as getBook
        customer -- getBook
        getBook -- ebook
        getBook -- bookLog

        (Update Catalogue) as updateCatalogue
        ebook -- updateCatalogue
        updateCatalogue -- bookLog
    }

    together {
        (Place Order) as order
        customer -- order
        order -- ebook
        order--publisher

        (Cancel Order) as cancelOrder
        customer -- cancelOrder
        cancelOrder -- ebook
        cancelOrder--publisher
    }
}

(Ship To EBook) as shipEBook
shipEBook -- publisher
(Ship To Customer) as shipCustomer
customer -- shipCustomer
ebook -- shipEBook
shipCustomer -- ebook

(Return to EBook) as returnCustomer
(Returnto Publisher) as returnPublisher
customer -- returnCustomer
returnCustomer -- ebook
ebook -- returnPublisher
returnPublisher -- publisher

@endUML
11
aSamWow

以下にリストされているいくつかのトリックを試すことができます。レイアウト自体はGraphViz(iircのドットレイアウト)によって実行され、GraphVizは単にこれを行うことがあります。グラフのレイアウトはNP完全な問題であるため、通常、アルゴリズムには厳しいショートカットが必要です。

私が見たり使用した典型的な回避策は次のとおりです。

  • 隠線を追加a -[hidden]- b
  • 行の長さを拡張するa --- b(より多くのダッシュ、より長い行)
  • 線の優先方向を指定する(a -left- b
  • スワッピングの関連付けの終了(a -- bb -- a
  • 定義の順序を変更する(順序does matter ...時々)
  • 背景/境界色を透明に設定した空のノードを追加する

したがって、本当に素敵なレイアウトが必要な場合は、エルボーグリスを入れる必要がありますが、レイアウトはまだ壊れやすいことに注意してください-アイテムを追加/削除する場合は、再度やり直す必要があります。

12
Peter Uhnak

@Peter Uhnakが提案するオプションとlinetypeを試してください:

skinparam linetype polyline
skinparam linetype ortho

線のオプションを改善します。オルソの使用 ---(Here

あなたが取得します-

enter image description here

11
Nikhil

誰かがもっと具体的なことを知りたいと思ったら、おそらくもっと役に立たない答えを入れてください、これが私が最後にしたことです。

    order -down- publisher
    publisher -[hidden]up- order

何らかの理由で、重複したコマンドを両方の方法で追加すると解決します。

10
aSamWow