facet_wrap とマージン

ggplot2 中級データ可視化

Rick Scavetta

Founder, Scavetta Academy

描画スペースの調整

ggplot(msleep2, aes(bodywt_log, 
                    brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation),
             scales = "free") 

ggplot2 中級データ可視化

facet_wrap() の使い方

ユースケース:

  1. 各サブプロットで x と y の両軸を自由にしたいとき
    • つまり facet_grid() の行/列ごとではなく、各面ごとに自由
ggplot2 中級データ可視化

facet_wrap() の使用例 - シナリオ 1

ggplot(msleep2, aes(bodywt_log, 
                    brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  facet_wrap(vars(vore, conservation),
             scales = "free") 

ggplot2 中級データ可視化

facet_wrap() の使い方

ユースケース:

  1. 各サブプロットで x と y の両軸を自由にしたいとき
    • つまり facet_grid() の行/列ごとではなく、各面ごとに自由
  2. 因子(カテゴリ)変数の水準が多いとき
    • つまり 行/列で分割するとサブプロットが多すぎる場合
    • よくあるケース
ggplot2 中級データ可視化

facet_wrap() の使用例 - シナリオ 2

ggplot(msleep2, aes(bodywt_log, 
                    brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  facet_wrap(vars(order))

ggplot2 中級データ可視化

マージン付きプロットの使用

ggplot(msleep2, aes(bodywt_log, 
                    brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation),
             scales = "free") 

ggplot2 中級データ可視化

マージン付きプロットの使用

ggplot(msleep2, aes(bodywt_log, 
                    brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation),
             scales = "free",
             margins = TRUE) 

ggplot2 中級データ可視化

マージン付きプロットの使用

ggplot(msleep2, aes(bodywt_log, 
                    brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation),
             scales = "free",
             margins = "conservation")

ggplot2 中級データ可視化

練習しましょう!

ggplot2 中級データ可視化

Preparing Video For Download...