このような塗りつぶされた棒グラフがあります
library(dplyr)
library(ggplot2)
df <- data.frame(facet=c(rep(1,6),rep(2,6)),type=rep(c('a','b','c'),2), subtype=c('x','y'), value=c(10,20,30,10,50,70))
df %>% group_by(type, facet) %>%
mutate(pct=value/sum(value)) %>%
mutate(pos=cumsum(pct) - (0.5 * pct)) %>%
ggplot(aes(type, pct, fill=subtype)) + geom_bar(stat='identity') +
geom_text(aes(label=paste0(round(100*pct, 0), '%'),y=pos)) + facet_grid(.~facet, margins=TRUE)
ファセットで合計を表示しない場合は機能します。しかし、%データラベルを表示するために使用される方法が原因で(もっと良い方法があるのだろうか)、合計ファセットが台無しになります。何かアドバイス?ありがとう。