ggplot2でRug Plotを加える
まだ試してなかったのでメモ。
rug plotとは
2次元で描写したplotを,1次元へ簡便に周辺化したもの,みたいな感じです。例えば,
library(ggplot2)
df <- data.frame(
x <- rnorm(100, 5, 1),
y <- rnorm(100, 5, 1),
type <- sample(LETTERS[1:2], 100, replace = TRUE)
)
g <- ggplot(df, aes(x, y)) +
geom_point()
g
というよくある散布図に,geom_rug()
を加えるとこんな感じになります:
g + geom_rug()
詳しい解説・使い方は,ggplot2の公式ドキュメントを参照してください:
Rug plots in the margins — geom_rug • ggplot2
色々試してみる
ちょっといじってみます。
rugの配置
side=
で設定し,"trbl"
の文字列の組み合わせで指定します。tがTop,rがRightという感じで,表示させたい文字列を準備して指定します:
g + geom_rug(sides = "trb")
色・透明度の指定
あんまり使えるかどうかは微妙ですが,色の指定もできます:
g + geom_rug(aes(color = type))
あと,透明度(alpha)もできます:
g + geom_rug(alpha = 0.2)
これら以外にもいくつかありますが省略します。気になったら調べてみてください。
使いドコロと留意点
このような散布図などで,周辺化したものをぱぱっと出したい時にはちょうどいいと思います。でも,データセットが大きい場合,正直あまり意味がないでしょう。
Enjoy!