-
目次(まとめ)
- ◾️ Rの "barplot" 関数を使って、棒グラフを描くことができる
- ◾️ 複数の棒グラフを並べて表示させるには "beside" オプションを使用

Rで棒グラフを描くときには、どの関数を使えばいいですか?
Rでは "barplot" 関数がデフォルトで準備されているので、それを使えば棒グラフを簡単に描くことができます。

Rの "barplot" 関数を使って、棒グラフを描くことができる
いま、以下のような数値配列があるとします。
> num <- c(1.4, 3.2, 4.3, 5.7, 2.4)
棒グラフを描くためには、以下のように実行します。
> barplot(num)

"num" という変数に入っている数字に対応する "棒" が左から順番に並んでいます。
もし、それぞれの数字(棒)に名前があるようであれば、"names" というオプションを追加して、以下のように実行することで、ラベルを表示させることができます。
> barplot(num, names = c("A", "B", "C", "D", "E"))

このグラフ全体に枠を描きたければ、引き続き、以下のように実行すればOKです。
> box()

他にも、いろいろなオプションがあるので、必要に応じて、追加することができます。
オプション | 説明 | 例 |
col | 色の指定 | col = "white" |
main | グラフのタイトル | main = "number" |
xlab | x軸の名前 | xlab = "student" |
ylab | y軸の名前 | ylab = "score" |
> barplot(num, names = c("A", "B", "C", "D", "E"), col = "white", main = "number", xlab = "student", ylab = "score")

複数の棒グラフを並べて表示させるには "beside" オプションを使用
ここでは、以下のように "num_1" と "num_2" という2つの数値配列の棒グラフを描くことを考えます。
> num_1 <- c(1.4, 3.2, 4.3, 5.7, 2.4)
> num_2 <- c(4.3, 5.7, 2.4, 1.4, 3.2)
これらの数値配列について、それぞれの要素(棒)を並べて表示させる場合には、"rbind(num_1, num_2)" と "beside = T" を設定して、以下のように実行します。
> barplot(rbind(num_1, num_2), names = c("A", "B", "C", "D", "E"), col = "white", main = "number", xlab = "student", ylab = "score", beside = T)

また、隣り合う棒で、色を変えたければ、以下のように設定すれば、"白" "赤" "白" "赤" ... の順番で棒の色を変えることができます。
> barplot(matrix, names = c("A", "B", "C", "D", "E"), col = c("white", "red"), main = "number", xlab = "student", ylab = "score", beside = T)
