ggflowchart を用いて R でフローチャート図を作成する

R

フローチャート図を作成するときにdraw.ioやMicrosoft Powerpointでもよいが,使い慣れたRで作成できればなお良い.そんな願いを叶えてくれるのが “ggflowchart” パッケージである.

導入

まずはさくっとインストール.

install.packages("ggflowchart")

できれば最新版をインストールしたいので下記のようにGithubよりインストールする.
もしパッケージ “remotes” がインストールされていなければ先にインストールしておこう.

remotes::install_github("nrennie/ggflowchart")

簡単な使用例

実際の手順としてはデータを用意して ggflowchart() で描出するだけ.

データは2列(今回のようにラベルがあるときは3列目に記載)で,1列目はフローチャートのエッジの開始位置を示し,2列目はエッジの終了位置を示しています(例:A→B, A→C など).これらの列には”from”とto”の名前を付けると分かりやすいが,なくても2列あればそれぞれエッジの開始点と終了点に関連していると判断されます.もし矢印にラベルが必要な場合には3列目に”label”を作成して記載します(とくにないときはNA).

# ライブラリの読み込み
library(tidyverse)
library(ggflowchart)

# チャートとなるデータの用意
data <- tibble(
  from = c("A", "A", "A", "B", "C", "F"),
  to = c("B", "C", "D", "E", "F", "G"),
  label = c("Yes", "No", NA, "Yes", NA, NA)
)

# チャート図の表示
ggflowchart(data)

このコードを走らせた結果は下図のような感じ.

ノード情報(四角のボックス)を追加する

ノード情報を追加することで fill や text_color などの色を種類別に分けることもできる.

# ノード情報の用意
node_data <- tibble(
  name = c("A", "B", "C", "D", "E", "F", "G"),
  type = c("Type 1", "Type 1", "Type 2", "Type 1", 
           "Type 2", "Type 1", "Type 2")
)

# チャート図の表示
ggflowchart(data, node_data, fill = type)

その他の設定項目

その他,引数をいろいろ変更してビジュアルを変えることができる.以下はデフォルト.

  • fill = “white”:ボックスの背景色
  • colour = “black”:ボックスのアウトライン色
  • text_colour = “black”:テキスト色
  • text_size = 3.88:テキストサイズ
  • arrow_colour = “black”:矢印の色
  • arrow_size = 0.3:矢印のサイズ
  • family = “sans”:フォント
  • x_nudge = 0.35:ボックスの幅
  • y_nudge = 0.25:ボックスの高さ
  • horizontal = FALSE:フローチャートの方向(TRUEだと左から右へのチャート図)

参照

Flowcharts with ggplot2
Flowcharts can be a useful way to visualise complex processes. This package uses the layered grammar of graphics of ggpl...

コメント

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