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

社労士のための「ほどほど」お悩み相談室

あなたのご質問・ご相談に、月1回、無料・本音で回答します。

ご質問・ご相談は、登録後に届くメールから送っていただけます。費用は一切かかりません。「お悩み相談室」というクローズドな場だからこそ、踏み込んだ内容の質問にも回答できます。

これまでに、こんなご質問・ご相談に回答してきました。

  • コンサル(3号業務)を主力業務にするには、どうすれば良いか?
  • どのようにして顧問料を上げれば良いか?
  • 営業が苦手で、新規の顧客獲得ができない
  • 業務をどう絞り込めば良いか?
  • 一人社労士のままで良いのか、人を雇うべきか?
  • 苦手・相性の悪い顧問先と、どう付き合うか?
  • 生成AIの時代、社労士は今後どう生き残るか?

なぜ、無料で同業の社労士からの相談に乗るのか?

それは「本当に顧客のために活動できる社労士仲間を増やしたい」からです。

私自身、社労士という資格に誇りを持っています。企業からの社労士に対する不満をよく聞きますし、「社労士なんて役に立たない」と思われることは、正直悔しいです。

  • 信頼される・信頼できる社労士の仲間を増やしていきたい

そんな想いから、少しでも社労士業界全体のレベルアップに貢献できればと考えています。

    登録は無料・月1回配信・配信解除いつでも可能
    ※ 登録後、本人確認のメールをお送りします。届かない場合は迷惑メールフォルダもご確認ください。


    up_line