🧜♀️
Mermaid のフローチャートで同じ名前のオブジェクトを複数作成する方法
この記事では Mermaid を使用しています。Mermaid の図が正しく表示されない場合は Zenn の記事 でご覧ください。
やりたいこと
Mermaid で以下のようなフローチャートを作りたいとする。
C --- D
/ \
A --- B E --- F
\ /
C --- D
そして、以下のような Mermaid のフローチャートを書いたとする。
flowchart LR
A --- B --- C --- D --- E --- F
B --- C
D --- E
しかし、これだと以下のように出力されてしまう。
以下のように書いた場合も同じ出力になる。
flowchart LR
A --- B
B --- C
B --- C
C --- D
D --- E
D --- E
E --- F
同じ文字列のオブジェクトを複数箇所で書くと、それらは単一のオブジェクトとみなされ、二重結合してしまう。
正しい書き方
同じ文字列のオブジェクトを複数作成したい場合は、以下のように ID と文字列を別々に定義すれば良い。
flowchart LR
A --- B --- c1[C] --- d1[D] --- E --- F
B --- c2[C] --- d2[D] --- E
上記の例のように、C
ではなく c1[C]
、c2[C]
のようにすることで、見た目上は同じ C
となるが、別々のオブジェクトとして区別される。D
も同様。
ID (上記の例でいう c1
, c2
, d1
, d2
の部分) はかぶらなければ任意の文字列を設定できる。単なる識別子で、出力結果には表示されない。
上記を出力すると以下のようになる。
Discussion