Rのggplot2で棒グラフを描きます。
要約
Rでこんなグラフが描けます。

パッケージの準備
ggplot2はRにもともと入っている機能ではありません。インストールして、呼び出しする必要があります。
install.packages("ggplot2") #インストール(初回のみ)
library(ggplot2) #読み出し(RStudio起動のたびに)
棒グラフ
(1)練習用データ
2000年の一人当たり名目GDPの棒グラフを作ってみましょう。一人当たりGDPは、人々が直面する豊かさのひとつの指標です。
country <- c("Japan","USA","Singapore","Korea","China") #国
gdp <- c(39172,36312,23852,12263,951) #一人当たりGDP
data0 <- data.frame(country, gdp) #データフレーム作成
(2)基本形
縦方向に棒が伸びる棒グラフです。↓

ggplot(data0, aes(x=gdp,y=country)) + #横軸にcountry、縦軸にgdp
geom_bar(stat="identity") #横軸、縦軸のデータを指定したい場合はidentityにする
横方向に棒が伸びる棒グラフです。↓

ggplot(data0, aes(x=gdp,y=country)) + #横軸にgdp、縦軸にcountry
geom_bar(stat="identity") #横軸、縦軸のデータを指定したい場合はidentityにする
(3)順番の調整
順番を調整しましょう。↓

#reorder(A,B)はAを、Bが大きい順に上から並べます。ちなみにreorder(A,-B)はAを、Bが小さい順に上から並べます。
ggplot(data0, aes(x=gdp,y=reorder(country, gdp))) +
geom_bar(stat="identity")
(4)数値
データの数値を表示させます。↓

ggplot(data0, aes(x=gdp,y=country),label = gdp) + #labelで表示したい数値を指定
geom_bar(stat="identity")+
geom_text(aes(label = gdp),hjust=0,vjust=0) #geom_textで表示したい数値を指定。hjustは水平方向の位置調整。vjustは垂直方向の位置調整。
綺麗な棒グラフ
(1)データの作成
日本語が入ったデータを作ります。
#国名を日本語にします
country <- c("日本","米国","シンガポール","韓国","中国")
gdp <- c(39172,36312,23852,12263,951)
data0 <- data.frame(country, gdp)
(2)綺麗な棒グラフ
綺麗な棒グラフを描きます。

##解説あり
#data0のデータを使う。縦はgdp、横は国、ラベルをgdpに指定
ggplot(data0, aes(x=gdp,y=reorder(country, gdp)),label = gdp) +
#0から40000まで、10000ずつに、灰色の縦線を入れる
geom_vline(xintercept = seq(0,40000,10000), col = "grey")+
#縦軸は0から45000にする。45000にしたのはgdpラベルが画像の外に出ないようにするため。メモリは0から40000まで、10000ずつ
scale_x_continuous(limits = c(0, 45000),breaks = seq(0,40000,10000))+
#stat="identity"を指定。塗りつぶし色をskyblue2にした
geom_bar(stat="identity",fill = "skyblue2")+
#0に黒の縦線をいう
geom_vline(xintercept = 0, col = "black")+
#ラベルを表示。水平方向に-0.15。色はgrey30
geom_text(aes(label = gdp), hjust=-0.15,colour = "grey30")+
#軸ラベル、タイトルラベル
xlab("一人当たりGDP(名目、USドル、2000年)") +
ylab("国名") +
ggtitle ("一人当たり豊かさの比較(2000年)") +
#日本語バグを防ぐ
theme_minimal(base_family = "HiraKakuPro-W3")
##解説なし
ggplot(data0, aes(x=gdp,y=reorder(country, gdp)),label = gdp) +
geom_vline(xintercept = seq(0,40000,10000), col = "grey")+
scale_x_continuous(limits = c(0, 45000),breaks = seq(0,40000,10000))+
geom_bar(stat="identity",fill = "skyblue2")+
geom_vline(xintercept = 0, col = "black")+
geom_text(aes(label = gdp), hjust=-0.15,colour = "grey30")+
xlab("一人当たりGDP(名目、USドル、2000年)") +
ylab("国名") +
ggtitle ("一人当たり豊かさの比較(2000年)") +
theme_minimal(base_family = "HiraKakuPro-W3")
補足:色について
#おすすめの色
black #黒
white #白
grey #灰色
skyblue2 #青
palegreen3 #緑
pink1 #ピンク
#透明度
alpha=? #←0から1
コメント欄 お気軽にコメントをお寄せください!