統計データをggplot2で可視化するときの色
背景
統計的にデータを扱う場合,データの種類は大きく分けて次の3つ.
- 順次的(sequential)
- 定性的(qualitative)
- 発散的(diverging)
これらを可視化するとき,色分けすると便利.ただし,色使いには注意が必要
目的
ggplot2で可視化するとき,データの種類によって色を使い分ける方法を模索
方法
ggplot2で色を分けて可視化するときの手段として
- ggplot2のscale_gradient, scale_gradient2, scale_gradientn を利用
- RパッケージのRColorBrewerを利用
- 自分で定義
の3つが考えられる.
ここで問題.適切な色とは何か?
W. S. Cleveland の The Elements of Graphing Data によれば,CMYKをベースに考えて次のパタンがオススメらしい
- 順次的データ
- cyan から magenta への濃淡で表す
- 定性的データ
- cyan,magenta,green,orange,light blue の5色で表す
さて,cyanやmagentaの色一覧は次の通り
(c,m,y,k) | #rrggbb | 色名 |
---|---|---|
(1,0,0,0) | #00a0e9 | cyan |
(0,1,0,0) | #e4007f | magenta |
(1,0,1,0) | #009944 | green |
(0,0.5,1,0) | #f39800 | orange |
(1,0.5,0,0) | #0068b7 | light blue |
これらを利用して,ggplot2で色を分けてみる.
実験
まずは色の定義
cCyan <- "#00a0e9" cMagenta <- "#e4007f" cGreen <- "#009944" cOrange <- "#f39800" cLightBlue <- "#0068b7" qcolours <- c(cCyan,cMagenta,cGreen,cOrange,cLightBlue)
順次的データ
data=mtcarsを利用する.まずはそのままプロット(背景は白に設定).
p <- ggplot(mtcars, aes(mpg, wt)) p <- p + geom_point(aes(colour=cyl),size=3) p <- p + theme_bw(24) p
p + scale_colour_gradient(low=cCyan,high=cMagenta)
見やすくなったかな.
また他の方法として,奥村先生の色設定を適用する
p + scale_colour_gradient(low=cLightBlue,high=cOrange)
結論
Clevelandの方法のように色分けを工夫することで,可視化データの情報がよりハッキリと見て取れる!
参考文献
- 奥村先生のページ | 統計グラフの色
- Triad sou.さんのページ | ggplot2 の自分用メモ集を作ろう
- ggplot2 | ggplot2