ggplot2で蜂群図に平均値+-SDの棒を加えたグラフを作成する(複数のグラフを重ねる)
何となく、蜂群図に平均値+-SDの棒を加えたグラフを作成したくなったので、ググってみたら、以下のサイトが見つかりました。
参考:https://note.com/eiko_dokusho/n/nb7f5f52819a4
開発環境
Chrome
google colaboratoryでRを設定
google colaboratoryでRを使用できるようにする方法は、以下をご覧いただけましたら幸いです。
ソースコード
https://colab.research.google.com/drive/197NTWUqsBgOmGf6KCYt8KoM1jizQJus4#scrollTo=GmTdsNAHXT_n
ポイントはグラフのベースを作るときに、ggplot(NULL)で下地を作るところ
library(tidyverse)
# 平均と標準偏差の計算
d <- mtcars %>%
group_by(cyl) %>%
summarise(wt_avg = mean(wt), wt_sd = sd(wt))
d
# グラフの重ね合わせ
g <- ggplot(NULL) +
geom_point(data = mtcars, mapping = aes(x = factor(cyl), y = wt), colour="red") +
geom_point(
data = d,
aes(x = factor(cyl), y = wt_avg)
) +
geom_errorbar(
data = d,
aes(
x = factor(cyl),
y = wt_avg,
ymin = wt_avg - wt_sd,
ymax = wt_avg + wt_sd),
width = 0.1
) +
theme_classic() +
theme(
plot.title = element_text(size = 20),
axis.title.x = element_text(size= 20),
axis.title.y = element_text(size= 20),
axis.text.x = element_text(size= 20),
axis.text.y = element_text(size= 20)
) +
ggtitle("(mean value)+-(standard deviation:SD)") +
theme(plot.title = element_text(hjust = 0.5)) +
scale_y_continuous(limits = c(0,5))
g
なお、今回のデータは、Rにあらかじめ入っている、
mtcars
というデータを利用しています。
32行11列のデータで、最初の6行は以下のような感じです。
ディスカッション
コメント一覧
まだ、コメントがありません