ブログにフローチャートを埋め込めるMermaid記法について、1年とちょっと前に記事にしました。
チャート化することで話の展開が可視化されます。以前は多用していこうと思っていたのですが、最近はあまり使えていません。
使わなくなると、基本的な文法もすっかり忘れています。
覚えておきたい基本項目をまとめました。
Mermaidとは?
最初に覚えるべき図の種類
図の種類 | 用途 | 宣言方法 |
---|---|---|
フローチャート | 処理の流れを視覚化 | graph TD または graph LR |
シーケンス図 | 登場人物間のやり取り(時間軸に沿って) | sequenceDiagram |
ガントチャート | タスクとスケジュールの視覚化 | gantt |
クラス図 | クラスやオブジェクトの関係(UML的な用途) | classDiagram |
基本:フローチャート記法
図の向き指定
graph TD
→ 上から下(Top Down)graph LR
→ 左から右(Left to Right)
ノード(要素)の書き方
形状 | 記法 | 例 |
---|---|---|
四角 | A[テキスト] |
A[開始] |
丸(楕円) | A(テキスト) |
A(開始) |
ダイヤ(判断) | A{条件} |
A{OK?} |
テキストのみ | A>テキスト] |
A>終了] |
矢印の書き方
- 矢印 →
-->
- 矢印にラベル →
-- ラベル -->
フローチャート例
mermaidコード
graph TD A[スタート] --> B{条件分岐} B -- Yes --> C[処理1] B -- No --> D[処理2] C --> E[終了] D --> E
graph TD A[スタート] --> B{条件分岐} B -- Yes --> C[処理1] B -- No --> D[処理2] C --> E[終了] D --> E
シーケンス図の例
mermaidコード
sequenceDiagram participant ユーザー participant サーバー ユーザー->>サーバー: リクエスト送信 サーバー-->>ユーザー: レスポンス返却
sequenceDiagram participant ユーザー participant サーバー ユーザー->>サーバー: リクエスト送信 サーバー-->>ユーザー: レスポンス返却
ガントチャートの例
mermaidコード
gantt title プロジェクト進行 dateFormat YYYY-MM-DD section 企画 タスクA :a1, 2025-03-24, 3d タスクB :after a1, 2d
%%{init: {"gantt": {"axisFormat": "%m/%d"}}}%% gantt title プロジェクト進行 dateFormat YYYY-MM-DD section 企画 タスクA :a1, 2025-03-24, 3d タスクB :after a1, 2d
日付が重なって全く見えませんね。
練習方法・おすすめの環境
はてなブログでmermaidで書かれた図を表示させるには、初期設定が必要でした。詳しくは過去記事をご覧ください。