ドット言語チュートリアル
Dot Language Tutorial
UML描画ドット言語
バックグラウンド
Graphvizは、グラフを作成でき、簡単にスクリプト化できる柔軟なアプリケーションです。この記事では、Graphviz DOT言語の基本を紹介し、いくつかのサンプルスクリプトを提供します。
入手します Graphviz
DOTファイルは、チャートの構成要素とそれらの間の関係を説明するテキストファイルです。 Graphvizはレンダリングプログラムに相当します。 DOTファイルをhtmlと比較する場合、Graphvizがブラウザーです。
Macの場合は、
brew install graphviz
を使用してください。
DOT言語の基本
基本的なDOTファイル
demo01.dot
digraph demo{ A->B[dir=both] B->C[dir=none] C->D[dir=back] D->A[dir=forward] }
DOTファイルから画像を生成する
dot demo01.dot –Tpng –o demo01.png
PlantUML
PlantUMLは、Graphvizに基づくオープンソースプロジェクトであり、高速描画をサポートしています。
タイミング図
ユースケース図
クラス図
アクティビティ図(これが新しい構文です)、
コンポーネント図
状態図
配置図、
オブジェクトグラフ
ワイヤーフレームグラフィカルインターフェイス
png、svg、LaTeX形式の画像を生成でき、プラグインとして使用できます。
Intellijのアイデア
Eclipse
NetBeans
Ckeditor
TinyMCEエディター
崇高なテキストエディター
私が来た
Emacs
原子
...。
PlantUMLをインストールするSublimeTextのプロセスについて話しましょう:
ダウンロード 崇高なPlantUML プラグインと解凍
[設定]-> [パッケージの参照...]からsublimeのPackagesディレクトリを開き、解凍したプラグインをPackagesディレクトリの下に配置します。
Sublimeを再起動します
使い方を簡単にするために、Sublimeでショートカットキーを設定できます。 [設定]-> [キーバインド]-[ユーザー]を開き、ショートカットキーを追加します。
{'キー':['alt + d']、 'コマンド': 'display_diagrams'}
上記のコードは、Alt + dを押してPlantUML画像を生成するように構成されており、お気に入りのボタンに変更できます。
からの参照 Sublime + PlantUMLを使用して効率的に絵を描く
状態図を描く
例として状態図を取り上げます。他の図を描く必要がある場合は、 PlantUML 見る
単純な状態図
@startuml [*] --> State1 State1 --> [*] State1 : this is a string State1 : this is another string State1 -> State2 State2 --> [*] @enduml
ホットキーalt+d
合成状態
@startuml scale 350 width [*] --> NotShooting state NotShooting { [*] --> Idle Idle --> Configuring : EvConfig Configuring --> Idle : EvConfig } state Configuring { [*] --> NewValueSelection NewValueSelection --> NewValuePreview : EvNewValue NewValuePreview --> NewValueSelection : EvNewValueRejected NewValuePreview --> NewValueSelection : EvNewValueSaved state NewValuePreview { State1 -> State2 } } @enduml
スケール350幅、指定された画像の幅は350、スケールは比例します
ロングネーム
州の名前が長すぎる場合は、stateキーワードを使用してください
@startuml scale 600 width [*] -> State1 State1 --> State2 : Succeeded State1 --> [*] : Aborted State2 --> State3 : Succeeded State2 --> [*] : Aborted state State3 { state 'Accumulate Enough Data
Long State Name' as long1 long1 : Just a test [*] --> long1 long1 --> long1 : New Data long1 --> ProcessData : Enough Data } State3 --> State3 : Failed State3 --> [*] : Succeeded / Save Result State3 --> [*] : Aborted @enduml
並行状態
@startuml [*] --> Active state Active { [*] -> NumLockOff NumLockOff --> NumLockOn : EvNumLockPressed NumLockOn --> NumLockOff : EvNumLockPressed -- [*] -> CapsLockOff CapsLockOff --> CapsLockOn : EvCapsLockPressed CapsLockOn --> CapsLockOff : EvCapsLockPressed -- [*] -> ScrollLockOff ScrollLockOff --> ScrollLockOn : EvCapsLockPressed ScrollLockOn --> ScrollLockOff : EvCapsLockPressed } @enduml
並行状態を合成するための区切り文字として-を使用します。
矢印の方向
-> [水平矢印の定義]を使用します。次の形式を使用して、矢印の方向を強制することもできます。
1.-下->(デフォルトの矢印)
2.-右->または->
3.-左->
4.-up->
@startuml [*] -up-> First First -> Second Second --> Third Third --> Fourth Fourth -left-> Last @enduml
コメント
キーワード:
左のメモ
の右に注意してください
の上部に注意してください
の下部に注意してください
@startuml [*] --> Active Active --> Inactive note left of Active : this is a short
note note right of Inactive A note can also be defined on several lines end note @enduml
フローティングノート
@startuml state foo note 'This is a floating note' as N1 @enduml
合成状況についてのコメント
@startuml [*] --> NotShooting state 'Not Shooting State' as NotShooting { state 'Idle mode' as Idle state 'Configuring mode' as Configuring [*] --> Idle Idle --> Configuring : EvConfig Configuring --> Idle : EvConfig } note right of NotShooting : This is a note on a composite state @enduml
テーマの変更
skinparamコマンドを使用して、フォントと色を変更します。
@startuml skinparam backgroundColor LightYellow skinparam state { StartColor MediumBlue EndColor Red BackgroundColor #e0f BackgroundColor<> #aaa FontColor<> Orange BorderColor Orange FontName Monaco } [*] --> NotShooting state 'Not Shooting State' as NotShooting { state 'Idle mode' as Idle <> state 'Configuring mode' as Configuring [*] --> Idle Idle --> Configuring : EvConfig Configuring --> Idle : EvConfig } NotShooting --> [*] @enduml
リアルタイムでプレビューできるウェブサイトがあります planttext