Work Life Fun

仕事も人生も楽しむ社労士

テキストのみで図を描画できるMermaidでフローチャートを作図

※当サイトはリンクに広告ページが含まれている場合があります

以下の記事で紹介したとおり、Mermaidはかなり便利です。

参考:Hugoにテキストのみで図を描画できるMermaidを導入

今回は、Mermaidでフローチャートを作図してみます。

なお、紹介した以外のノードや関連線などは、公式サイトで紹介されています。英語だけど。

ノード

ノードは、フローを構成する部品であり、工程や分岐を示すもので、以下が基本形です。

flowchart LR id1[This is the text in the box]
```mermaid
flowchart LR
    id1[This is the text in the box]
```

ちなみに、Markdown記法にも対応しています。

%%{init: {"flowchart": {"htmlLabels": false}} }%% flowchart LR markdown["`This **is** _Markdown_`"] newLines["`Line1 Line 2 Line 3`"] markdown --> newLines
```mermaid
%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
    markdown["`This **is** _Markdown_`"]
    newLines["`Line1
    Line 2
    Line 3`"]
    markdown --> newLines
```

分岐

以下は分岐の際に使うもの。

flowchart TD A@{ shape: diamond, label: "分岐" }

書き方は2通りあります。後者の方が簡単です。

```mermaid
flowchart TD
    A@{ shape: diamond, label: "分岐" }
```
```mermaid
flowchart TD
    A{分岐}
```

ループ(繰り返し)

ループ(繰り返し)の際に使うもの。

flowchart TD A@{ shape: trap-b, label: "ループ開始" }

これも2通りの書き方があります。後者の方が簡単ですし、台形の形に見えるので覚えやすいです。

```mermaid
flowchart TD
    A@{ shape: trap-b, label: "ループ開始" }
```
```mermaid
flowchart TD
    A[/ループ開始\]
```

上に比べて大きく見えますが、まあ気にしないことにしましょう。

flowchart TD A@{ shape: trap-t, label: "ループ終了" }

これも2通りの書き方があります。後者の場合は「\」と「/」を変更するだけです。

```mermaid
flowchart TD
    A@{ shape: trap-t, label: "ループ終了" }
```
```mermaid
flowchart TD
    A[\ループ終了/]
```

円は、開始や終了の際に利用します。

flowchart TD A([開始])

これも2通りの書き方があります。

```mermaid
flowchart LR
    A((開始))
```
```mermaid
flowchart TD
    A([開始])
```

関連線

関連線は、ノードからノードへの遷移を示す矢印のことで、テキストで「–>」と記述するだけでOKです。

flowchart TD Start --> Stop
```mermaid
flowchart TD
    Start --> Stop
```

矢印の向きの変更方法は以下のとおり。

  • TB - Top to bottom
  • TD - Top-down/ same as top to bottom
  • BT - Bottom to top
  • RL - Right to left
  • LR - Left to right

「flowchart TD」を「flowchart LR」に変更するだけで以下のように変更できます。簡単すぎる👍

flowchart LR Start --> Stop

また、矢印でなく、単なる線にすることも可能。

flowchart LR Start --- Stop
```mermaid
flowchart LR
    Start --- Stop
```

線の上にテキストを置くことも可能。

flowchart LR A-- text -->B
```mermaid
flowchart LR
    A-- text -->B
```

点線や太い線にすることも可能。

flowchart LR A-.->B;
```mermaid
flowchart LR
   A-.->B;
```
flowchart LR A ==> B
```mermaid
flowchart LR
   A ==> B
```

もちろん、テキストを加えることも可能。

flowchart LR A-. text .-> B
```mermaid
flowchart LR
   A-. text .-> B
```

なお、アニメーションも可能です。利用用途は思いつきませんが🤣

flowchart LR A e1@==> B e1@{ animate: true }
```mermaid
flowchart LR
  A e1@==> B
  e1@{ animate: true }
```

フローチャートの実戦例

以上を踏まえて、フローチャートを作ってみると、以下のように描くことができます。

flowchart TD A([開始]) --> B{分岐} B --"yes"--> C[処理1] B --"no"--> D[処理2] C & D --> E[/ループ開始\] E --> F[処理3] F --> G[\ループ終了/] G --> H([終了])

書き方は以下のとおり。めちゃくちゃ簡単、やはりMermaidは便利ですね👍

```mermaid
flowchart TD
  A([開始]) --> B{分岐}
  B --"yes"--> C[処理1]
  B --"no"--> D[処理2]
  C & D --> E[/ループ開始\]
  E --> F[処理3]
  F --> G[\ループ終了/]
  G --> H([終了])
```

参考:Flowcharts - Basic Syntax

【無料】効率的に人事労務の情報を入手しませんか?
  • 毎年のように改正される労働法令への対応に頭を悩ませている
  • 総務や経理などの他の業務を兼務しているので、人事労務業務だけに時間を割けない

といった悩みを抱える企業の経営者・人事労務担当者向けに、公開型のブログでは書けない、本音を交えた人事労務に関する情報・ノウハウ、時期的なトピックに関するメールマガジンを「無料」で配信しています。

過去の配信分は公開しません。

情報が必要な方は、いますぐ以下のフォームから購読の登録をしてください。購読して不要と思ったら簡単に解除できますのでご安心ください。


前の記事へ
次の記事へ
up_line