skinparamコマンド

skinparamコマンドを使用すると、描画される色やフォントを変更することができます。

:

skinparam backgroundColor transparent

使用法

このコマンドは、 で使用することができます。

入れ子

繰り返しを避けるため、定義を入れ子にすることができます。例えば、

skinparam xxxxParam1 value1
skinparam xxxxParam2 value2
skinparam xxxxParam3 value3
skinparam xxxxParam4 value4

この定義と以下の定義は全く同じ意味になります:

skinparam xxxx {
    Param1 value1
    Param2 value2
    Param3 value3
    Param4 value4
}

白黒

skinparam monochrome trueコマンドを使用すると、出力結果を白黒にすることができます。

🎉 Copied!
@startuml

skinparam monochrome true

actor User
participant "First Class" as A
participant "Second Class" as B
participant "Last Class" as C

User -> A: DoWork
activate A

A -> B: Create Request
activate B

B -> C: DoWork
activate C
C --> B: WorkDone
destroy C

B --> A: Request Created
deactivate B

A --> User: Done
deactivate A

@enduml

影の有無

skinparam shadowing falseを使用すると、影の描画を無くすことができます。

🎉 Copied!
@startuml

left to right direction

skinparam shadowing<<no_shadow>> false
skinparam shadowing<<with_shadow>> true

actor User
(Glowing use case) <<with_shadow>> as guc
(Flat use case) <<no_shadow>> as fuc
User -- guc
User -- fuc

@enduml

色の反転

skinparam monochrome reverseコマンドを使用すると、出力結果が色の反転した白黒となります。これは、背景色が黒の環境の場合に便利です。

🎉 Copied!
@startuml

skinparam monochrome reverse

actor User
participant "First Class" as A
participant "Second Class" as B
participant "Last Class" as C

User -> A: DoWork
activate A

A -> B: Create Request
activate B

B -> C: DoWork
activate C
C --> B: WorkDone
destroy C

B --> A: Request Created
deactivate B

A --> User: Done
deactivate A

@enduml

標準色名やRGBコードを使用することができます。

🎉 Copied!
@startuml
colors
@enduml

transparentは、画像の背景色にのみ使用可能です。

文字色、フォント名、フォントサイズ

xxxFontColorxxxFontSizexxxFontNameのパラメータを使用して、文字の描画を変更することができます。

例:

skinparam classFontColor red
skinparam classFontSize 10
skinparam classFontName Aapex

skinparam defaultFontNameを使用すると、すべての文字描画に対してデフォルト値を設定することもできます。

例:

skinparam defaultFontName Aapex

フォント名はシステムに大きく依存していることにご注意ください。ポータビリティを考慮するなら、最小限の使用にとどめてください。HelveticaCourierであれば、どのようなシステムでも使用できるでしょう。

多くのパラメータがありますが、次のコマンドで一覧を出力することができます:

java -jar plantuml.jar -language

テキストの配置

skinparam sequenceMessageAlignを使用すると、テキストの配置をleftrightcenterに設定することができます。 directionまたはreverseDirectionを使用すると、矢印の方向に応じてテキストの位置が決定されます。

パラメタ名 デフォルト値 備考
sequenceMessageAlign left シーケンス図のメッセージに使用
sequenceReferenceAlign center シーケンス図のref overに使用

🎉 Copied!
@startuml
skinparam sequenceMessageAlign center
Alice -> Bob : Hi
Bob -> Alice : This is very long
@enduml

🎉 Copied!
@startuml
skinparam sequenceMessageAlign right
Alice -> Bob : Hi
Bob -> Alice : This is very long
@enduml

🎉 Copied!
@startuml
skinparam sequenceMessageAlign direction
Alice -> Bob : Hi
Bob -> Alice: Hi
@enduml

🎉 Copied!
@startuml
skinparam backgroundColor #EEEBDC
skinparam handwritten true

skinparam sequence {
ArrowColor DeepSkyBlue
ActorBorderColor DeepSkyBlue
LifeLineBorderColor blue
LifeLineBackgroundColor #A9DCDF

ParticipantBorderColor DeepSkyBlue
ParticipantBackgroundColor DodgerBlue
ParticipantFontName Impact
ParticipantFontSize 17
ParticipantFontColor #A9DCDF

ActorBackgroundColor aqua
ActorFontColor DeepSkyBlue
ActorFontSize 17
ActorFontName Aapex
}

actor User
participant "First Class" as A
participant "Second Class" as B
participant "Last Class" as C

User -> A: DoWork
activate A

A -> B: Create Request
activate B

B -> C: DoWork
activate C
C --> B: WorkDone
destroy C

B --> A: Request Created
deactivate B

A --> User: Done
deactivate A
@enduml

🎉 Copied!
@startuml
skinparam handwritten true

skinparam actor {
BorderColor black
FontName Courier
        BackgroundColor<< Human >> Gold
}

skinparam usecase {
BackgroundColor DarkSeaGreen
BorderColor DarkSlateGray

BackgroundColor<< Main >> YellowGreen
BorderColor<< Main >> YellowGreen

ArrowColor Olive
}

User << Human >>
:Main Database: as MySql << Application >>
(Start) << One Shot >>
(Use the application) as (Use) << Main >>

User -> (Start)
User --> (Use)

MySql --> (Use)
@enduml

🎉 Copied!
@startuml
skinparam roundcorner 20
skinparam class {
BackgroundColor PaleGreen
ArrowColor SeaGreen
BorderColor SpringGreen
}
skinparam stereotypeCBackgroundColor YellowGreen

Class01 "1" *-- "many" Class02 : contains

Class03 o-- Class04 : aggregation
@enduml

🎉 Copied!
@startuml
skinparam interface {
  backgroundColor RosyBrown
  borderColor orange
}

skinparam component {
  FontSize 13
  BackgroundColor<<Apache>> LightCoral
  BorderColor<<Apache>> #FF6655
  FontName Courier
  BorderColor black
  BackgroundColor gold
  ArrowFontName Impact
  ArrowColor #FF6655
  ArrowFontColor #777777
}

() "Data Access" as DA
[Web Server] << Apache >>

DA - [First Component]
[First Component] ..> () HTTP : use
HTTP - [Web Server]
@enduml

🎉 Copied!
@startuml
[AA] <<static lib>>
[BB] <<shared lib>>
[CC] <<static lib>>

node node1
node node2 <<shared node>>
database Production

skinparam component {
    backgroundColor<<static lib>> DarkKhaki
    backgroundColor<<shared lib>> Green
}

skinparam node {
borderColor Green
backgroundColor Yellow
backgroundColor<<shared node>> Magenta
}
skinparam databaseBackgroundColor Aqua
@enduml

すべてのskinparamパラメータの一覧

コマンドラインで-languageを使用するか、次のコマンドを使用して、skinparamパラメータの一覧を表示する図を生成することができます:
  • help skinparams
  • skinparameters

コマンドライン: -languageコマンド

ドキュメンテーションは常に最新とは限らないため、次のコマンドを使用して全パラメータの一覧を確認することができます:

java -jar plantuml.jar -language

コマンド: help skinparams

以下の結果が得られます。このコマンドのソースコードはCommandHelpSkinparam.javaにあります。

🎉 Copied!
@startuml
help skinparams
@enduml

コマンド: skinparameters

🎉 Copied!
@startuml
skinparameters 
@enduml

All Skin Parameters on the Ashley's PlantUML Doc

Ashley's PlantUML DocAll Skin Parametersで、各skinparamパラメータの見た目を確認することができます。


Privacy Policy      Advertise