【Mermaid】R Markdownでフローチャート作成

Mermaid

この記事では、RStudioを使用してフローチャートを作成する手順について、Rmarkdownファイルの準備、必要なパッケージのインストール、そしてMermaid記法を使ったコードブロックの追加方法を紹介しています。

Rmarkdownファイルを準備する

まず、RStudioで新しいRmarkdownファイルを作成します。

Rmarkdownファイルの準備
  • ステップ1
    RStudioを開く
    [File]メニューから[New File]、[R Markdown…]を選択します。

  • ステップ2
    .mdファイル作成

    タイトルと著者名を入力し、[OK]をクリックします。

  • ステップ3
    YAMLヘッダー設定

    必要に応じてYAMLヘッダーを編集します。

パッケージのインストール

次に、フローチャートを描画するために必要なDiagrammeRパッケージをインストールします。

Rのコンソールで以下のコマンドを実行します。

install.packages("DiagrammeR") #初回だけ
library(DiagrammeR)

フローチャートの作成

Rmarkdownファイルにフローチャートを追加するには、Mermaid記法を使用します。

Mermaid記法についてはこちらで紹介しています。

コードチャンク内(```で囲まれた範囲)にmermaid関数を使ってコードを書き込みます。

以下は、Rmarkdown内で書いたフローチャートの例です。

```{r, echo=FALSE}
library(DiagrammeR)
DiagrammeR::mermaid("
graph TD;
    A[スタート] --> B[ステップ1];
    B --> C[ステップ2];
    C --> D[終了];
")
```

上記のコードブロックをRmarkdownファイルに追加すると、次のようなフローチャートが表示されます。

graph TD; A[スタート] --> B[ステップ1]; B --> C[ステップ2]; C --> D[終了];

PDFで出力時の注意

PDFで書き出しすると、いくつかエラーと警告に遭遇したので、注意事項をメモしていきます。(2025.03.25追記)

YAMLヘッダーにalways_allow_html: trueを指定する

always_allow_html: trueを指定しなさいと表示されたので、YAMLヘッダーに追加

---
title: "Template"
output:
  pdf_document:
    latex_engine: xelatex
always_allow_html: true
---

phantomjs()が必要

always_allow_html: truewを指定すると、次はphantom.jsが必要と警告される

install.packages("webshot") # 初回のみ
library(webshot)
webshot::install_phantomjs()

完了

これでPDFに無事出力されました。

graph TD; A[スタート] --> B[ステップ1]; B --> C[ステップ2]; C --> D[終了];

終わりに

今回は、RStudioを使用してフローチャートを作成する手順について紹介しました。

今まではフローチャートを作成するのにパワーポイントのSmart Art機能を使っていましたが、再現性の観点からRStudio内で完結したいと思っていました。これから、フローチャート作成が捗りそうです。

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