Mermaidの線・矢印・点線まとめ【コピペ例つき】

mermaid

Mermaidのフローチャートでは、ノード間の記号を変えるだけで、実線・点線・太線・矢印を使い分けられます。

よく使う書き方を先にまとめると、次のとおりです。

表現 記法 用途の例
矢印 A --> B 処理の流れ
A --- B 方向を持たない関連
点線矢印 A -.-> B 任意・補助的な流れ
太線矢印 A ==> B 重要な流れ
双方向矢印 A <--> B 相互のやり取り
丸付き A --o B 特殊な終端
バツ付き A --x B 終了・拒否など
見えない線 A ~~~ B 配置だけ調整

最小のコードはこちらです。

flowchart LR
    A[開始] --> B[確認]
    B -.-> C[任意の処理]
    B ==> D[重要な処理]
    C --> E[完了]
    D --> E

Mermaidの実線・点線・太線を組み合わせたフローチャート

スポンサーリンク

線と矢印の基本

通常の矢印

flowchart LR
    A[開始] --> B[終了]

Mermaidの通常矢印

処理や情報が進む方向を示す、最も基本的な記法です。

矢印なしの線

flowchart LR
    A[サービスA] --- B[共通データ]

Mermaidの矢印なしの線

方向ではなく、関連や接続だけを示したいときに使います。

点線と点線矢印

flowchart LR
    A[必須処理] -.- B[補足]
    B -.-> C[任意処理]

Mermaidの点線と点線矢印

  • -.-: 矢印なしの点線
  • -.->: 点線の矢印

任意処理、参照関係、例外ルートなど、主経路と区別したい関係に向いています。

太線と太線矢印

flowchart LR
    A[通常] === B[重要]
    B ==> C[最重要の処理]

Mermaidの太線と太線矢印

  • ===: 矢印なしの太線
  • ==>: 太線の矢印

太線を多用すると逆に重要度が伝わりにくくなるため、強調箇所へ絞ります。

スポンサーリンク

双方向・丸・バツの矢印

双方向矢印

flowchart LR
    A[クライアント] <--> B[API]

Mermaidの双方向矢印

リクエストとレスポンス、同期、相互参照などを表せます。

丸付き・バツ付き

flowchart LR
    A[処理] --o B[保留]
    A --x C[中止]

Mermaidの丸付き・バツ付き矢印

丸やバツの意味はMermaid側で固定されているわけではありません。凡例やラベルを添え、図の中で意味を統一してください。

線の途中にラベルを入れる

最も読みやすいのは|ラベル|を使う方法です。

flowchart LR
    A{ログイン成功?} -->|はい| B[ダッシュボード]
    A -->|いいえ| C[エラー表示]

Mermaidの線ラベル:はい・いいえ

次の形式でも書けます。

flowchart LR
    A -- 承認 --> B
    B -. 差し戻し .-> C
    C == 再確認 ==> A

Mermaidの線へ直接ラベルを付ける例

記号の位置が分かりにくくなった場合は、最初の|ラベル|形式へ戻すと修正しやすくなります。

線を長くする

Mermaidでは、記号を増やすと最低限またぐ階層数を増やせます。

長さ 通常矢印 点線矢印 太線矢印
1 --> -.-> ==>
2 ---> -..-> ===>
3 ----> -...-> ====>
flowchart LR
    A --> B
    A ----> C

Mermaidの線の長さを変える例

ただし、最終的な長さはレイアウトエンジンが全体を見て決めます。記号を増やしても、ピクセル単位の長さを直接指定するわけではありません。

線を直角にする

検索されることの多い「直角の線」は、フローチャートのcurvestep系へ変更して作ります。現在の公式設定方法では、図の先頭にYAML frontmatterを置けます。

---
config:
  flowchart:
    curve: step
---
flowchart LR
    A[入力] --> B[確認]
    B --> C[出力]

Mermaidの直角線の表示例

候補にはstepstepBeforestepAfterがあります。環境によってfrontmatterへ対応していない場合は、埋め込み側のMermaid設定でflowchart.curveを指定してください。

線の色と太さを変える

linkStyleは、線がコード内で定義された順番を0から数えて指定します。

flowchart LR
    A --> B
    B --> C
    C --> D

    linkStyle 0 stroke:#2563eb,stroke-width:3px
    linkStyle 1 stroke:#f59e0b,stroke-width:3px,stroke-dasharray:5 5

Mermaidの線の色と太さを変える例

上の例では、最初の線が0、2本目が1です。線を途中へ追加すると番号が変わるため、大きな図ではスタイル指定箇所をまとめて管理します。

見えない線で配置を整える

~~~は線を表示せず、ノード間の配置関係だけを作ります。

flowchart LR
    A[左] ~~~ B[中央]
    B --> C[右]

Mermaidの見えない線による配置調整

便利ですが、見えない依存関係が増えるとコードを理解しにくくなります。まずTBLRなど全体方向や、サブグラフで解決できないか確認してください。

よくあるエラー

endで図が壊れる

公式ドキュメントでは、ノードに小文字のendを使うとフローチャートが壊れる場合があると注意されています。Endへ変えるか、ラベルを引用符で囲みます。

flowchart LR
    A --> B["end"]

Mermaidでendをラベルとして表示する例

o・xから始まるノード名で終端が変わる

A---oBは、oBというノードではなく丸付きの線として解釈されます。スペースを入れるか、ノードIDを大文字から始めます。

flowchart LR
    A --- Ops

MermaidでOpsノードを安全に表示する例

点線のラベルで構文エラーになる

記号と文章の組み合わせが分からなくなったら、A -.->|ラベル| Bの形を使います。

graph LR;
    A -.->|任意| B

Mermaidの点線にラベルを付ける例

公式エディタでは動くのにNotionなどで動かない

サービスに組み込まれたMermaidのバージョンや許可設定が異なる可能性があります。Mermaid Live Editorでコードを確認し、埋め込み先が対応している構文へ絞ってください。

まとめ

まず覚える記法は次の4つです。

  • 通常の矢印: -->
  • 矢印なし: ---
  • 点線矢印: -.->
  • 太線矢印: ==>

その後、ラベル、双方向、長さ、curve: stepによる直角線を必要に応じて追加すると、図を複雑にしすぎず表現を増やせます。

フローチャート全体の作り方はMermaidフローチャート入門、ノード形状はMermaidのノード形状まとめも参照してください。

参考資料

コメント

タイトルとURLをコピーしました