ggtetrisって名前にしようかと思ったんだけど、もうある(GitHub - EmilHvitfeldt/ggtetris: Create Tetris Chart Visualizations in R)みたいなので、ggbrickにしました。
brickはレンガっていう意味らしいです。
マニュアルはまだ一文字も書いてません。
インストールは
devtools::install_github("abikoushi/ggbrick")
で多分いけます。
入ってる関数は基本的にはgeom_brickだけです。
気が向いたら触ってみて変なところを教えていただけると嬉しいです。
(マニュアルも要望があれば書きます。)
以下デモです。
基本的な使い方はこう。
library(ggplot2)library(ggbrick) ggplot(data = iris)+ geom_brick(aes(y = Sepal.Length, x=Species), binwidth =0.1)
引数binwidthまたはbinsでビンの幅を変えられます。
ggplot(data = iris)+ geom_brick(aes(y = Sepal.Length, x=Species), binwidth =0.5)
塗りつぶし。
ggplot(data = iris)+ geom_brick(aes(y = Sepal.Length, x=Species), binwidth =0.5, fill ="black")
色を変えてサブカテゴリを積み上げることができます。
ggplot(data = mpg,aes(y = cty, x=factor(year), fill=factor(cyl)))+ geom_brick(binwidth =1)
引数stackgroupsをFALSEにすると積み上げません。
ggplot(data = mpg,aes(y = cty, x=factor(year), fill=factor(cyl)))+ geom_brick(binwidth =1, stackgroups =FALSE, alpha =0.5)
でも見づらいのであんまり使わないかも。
stackdirを"centerwhole"にするとバイオリンプロットライクに左右にブロックを積みます。
ggplot(data = mpg,aes(y = cty, x=factor(year), fill=factor(cyl)))+ geom_brick(binwidth =1, stackgroups =FALSE, alpha =0.5, stackdir ="centerwhole", position = position_dodge(0.5))
横向きにしたいときはcoord_flipで。
ggplot(data = diamonds, aes(x = color, y=carat, colour=cut))+ geom_brick(binwidth=0.2)+ coord_flip()
stat_summaryと合わせてメディアンを表示。
ggplot(data = iris,aes(y = Sepal.Length, x=Species))+ geom_brick(binwidth =0.1, stackdir ="centerwhole")+ stat_summary(fun.y = median, fun.ymin = median, fun.ymax = median, geom ="crossbar")
当たり前かもしれませんがfacetもできます。
iris2 <- tidyr::gather(iris,key,value,-Species) ggplot(data = iris2,aes(y = value, x=Species))+ geom_brick(binwidth =0.3,fill="black")+ facet_wrap(~key,scales ="free_y")
以上です。