ggplotの棒グラフは便利ですね。
position変更するだけで棒グラフの見栄えを簡単に切り替えられます。
#R library(ggplot2) library(dplyr) gp <- ggplot(mpg, aes(manufacturer)) + theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) gp + geom_bar(aes(fill = class), position = "stack") gp + geom_bar(aes(fill = factor(year)), position = "dodge") gp + geom_bar(aes(fill = drv), position = "fill")
特にdodgeがユニークな見せ方でカテゴリ間で比較ながらx軸間で比較したいときに役立ちます。
さて、この便利なdodgeも使いたい、そしてそこに表示するのは積み上げ棒グラフとしたいと考えるかもしれません。
positionは複数指定できないため基本機能でこれは実現できません。
この場合は次のようにfacetを使ったトリックで並んでいるように見せられます。
#R ggplot(mpg, aes(factor(year))) + geom_bar(aes(fill = class), position = "stack") + facet_wrap(~manufacturer, nrow = 1) + theme( axis.text.x = element_text(angle = 90, vjust = 0.5), panel.spacing = unit(0, "lines"), strip.text = element_text(angle = 90), axis.title.x = element_text(size = 0) )

【参考サイト】
r – ggplot2 – bar plot with both stack and dodge – Stack Overflow