横棒グラフを描く
課題
ファンネルグラフを描きたいので、ggplot2パッケージの棒グラフを用いて実現する。
実行
実行環境
- Windows 7 Home Premium 64bit
- R 3.2.2 64bit
- RStudio Version 0.99.489
使ったRパッケージの情報
- data.table 1.9.6
- ggplot2 1.0.1
説明
ggplot2の棒グラフは、そのまま表示すると縦棒グラフになる。
これをx軸とy軸を入れ替えて横棒グラフにするにはcoord_flip()関数を用いる。
コード
library(data.table) library(ggplot2) # データは勝手気ままに作ったもの process <- c("A", "B", "C", "D", "E") data <- data.table(Process=factor(process, levels=rev(process)), Count=c(100, 95, 50, 45, 40)) g <- ggplot(data, aes(x=Process, y=Count)) + geom_bar(colour="#00BF7D", fill="#00BF7D", alpha=0.5, width=1.0, stat="identity") + theme_bw() + theme(axis.text.x=element_text(size=16), axis.text.y=element_text(size=16), axis.title.x=element_text(size=20), axis.title.y=element_text(size=20), legend.text=element_text(size=12), legend.title=element_text(size=16), plot.title=element_text(size=28), strip.text.x=element_text(size=16), strip.text.y=element_text(size=16)) + labs(title="各プロセスの通過品数", x="個数", y="プロセス") + coord_flip() plot(g)
結果
補足
x軸の並べる順をfactor()関数で決めている。そのままだと下から上に並んでしまうため、levels引数でrev()関数を使って上から下へと並ぶようにしている。
棒と棒の間は、わざと隙間をなくしている。隙間を作りたいときはgeom_bar()関数のwidth引数を調整する。