いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【R】ggplot2で平均値の棒グラフ+個別値プロット

・お題:ggplot2で平均値の棒グラフ+個別値プロットしたい。

 

# パッケージ読み込み

library(tidyverse) # ggplot2とその他便利なライブラリのセット

 

# データセットを作る。

df <-
  data.frame(
    s_1 = rnorm(n = 20,mean = 10,sd = 1),
    s_2 = rnorm(n = 20,mean = 11,sd = 1),
    s_3 = rnorm(n = 20,mean = 12,sd = 1),
    s_4 = rnorm(n = 20,mean = 20,sd = 1),
    s_5 = rnorm(n = 20,mean = 22,sd = 1),
    s_6 = rnorm(n = 20,mean = 18,sd = 1)
  )

 

# plotのオブジェクト作る

p <- 
  df %>% 
  pivot_longer(cols = everything()) %>% 
  ggplot(mapping = aes(x = name, y = value))

 

# 描画する

p + 
  geom_bar(stat = "summary", fun = "mean", fill = "grey80", width = 0.6) + # まとめ方、集計方法などを指定
  theme_classic() +
  geom_dotplot(binaxis = "y", stackdir = "center", color = "grey30", fill = NA, binwidth = 0.4) + # 軸の方向、ドットの寄せ方、幅などを指定
  scale_y_continuous(breaks = c(0, 10, 20, 30), limits = c(0, 30), expand = c(0, 0)) + # y軸の目盛り、上限/下限、余白を指定
  ggtitle("Bar+dot")

 

おわり