-
目次(まとめ)
- ◾️ Rの "barplot" 関数を使って、棒グラフを描くことができる
- ◾️ 複数の棒グラフを並べて表示させるには "beside" オプションを使用
![](https://mi-chan-nel.com/wp-content/uploads/2020/10/animal_stand_risu.png)
Rで棒グラフを描くときには、どの関数を使えばいいですか?
Rでは "barplot" 関数がデフォルトで準備されているので、それを使えば棒グラフを簡単に描くことができます。
![](https://mi-chan-nel.com/wp-content/uploads/2019/12/megane_wellington_man.png)
Rの "barplot" 関数を使って、棒グラフを描くことができる
いま、以下のような数値配列があるとします。
> num <- c(1.4, 3.2, 4.3, 5.7, 2.4)
棒グラフを描くためには、以下のように実行します。
> barplot(num)
![](https://mi-chan-nel.com/wp-content/uploads/2020/11/d1a711186470fc4a4c8b2ec276ba7c2e.png)
"num" という変数に入っている数字に対応する "棒" が左から順番に並んでいます。
もし、それぞれの数字(棒)に名前があるようであれば、"names" というオプションを追加して、以下のように実行することで、ラベルを表示させることができます。
> barplot(num, names = c("A", "B", "C", "D", "E"))
![](https://mi-chan-nel.com/wp-content/uploads/2020/11/672b4bbf7eb955661f89c88f7b4a40a5.png)
このグラフ全体に枠を描きたければ、引き続き、以下のように実行すればOKです。
> box()
![](https://mi-chan-nel.com/wp-content/uploads/2020/11/ab322f7f95a836c69c6c8eedc34d1bfd.png)
他にも、いろいろなオプションがあるので、必要に応じて、追加することができます。
オプション | 説明 | 例 |
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")
![](https://mi-chan-nel.com/wp-content/uploads/2020/11/0d56f591e852f5360a9241055f978bbb-1024x909.png)
複数の棒グラフを並べて表示させるには "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)
![](https://mi-chan-nel.com/wp-content/uploads/2020/11/31fac1fec31350008cd8c92597ceadb7-1024x905.png)
また、隣り合う棒で、色を変えたければ、以下のように設定すれば、"白" "赤" "白" "赤" ... の順番で棒の色を変えることができます。
> barplot(matrix, names = c("A", "B", "C", "D", "E"), col = c("white", "red"), main = "number", xlab = "student", ylab = "score", beside = T)
![](https://mi-chan-nel.com/wp-content/uploads/2020/11/3d19ad2f7d9f2f281ffb1c2ee6c09066-1024x899.png)