[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
# 棒グラフの中に数値を表示させる
x <- matrix(c(10,10,20, 15, 5,20, 25,10,5, 5,5,10), nr=3,
dimnames=list(paste("r", 1:3, sep=""), paste("c", 1:4, sep="")))
x
cprp(x) # この関数はこれ
## 行と列の順番を変える
# x <- t(x) # 行列の転置
# x <- x[nrow(x):1, ncol(x):1] # 順序を変える
par(mfrow=c(2,3))
## 棒グラフ縦型に数値をいれる
bp <- barplot(x, beside=T, main="棒縦")
for (i in 1:ncol(x)) {
xl <- bp[,i]
yl <- x[,i]+2
# yl <- x[,i]/2 # 中心にいれるとき
txt <- round(x[,i], 2)
txt[txt=="0"] <- NA
text(xl, yl, txt)
}
# 凡例のコードは共通
legend("topright", legend=rownames(x), fill=grey.colors(nrow(x)))
## 積み上げ棒グラフ縦型に数値を入れる
# x <- t(x) # 行と列を逆にしたいなら。
bp <- barplot(x, main="積み縦")
for (i in 1:ncol(x)) {
xl <- bp[i]
yl <- cumsum(x[,i]) - x[,i]/2
txt <- round(x[,i], 2)
txt[txt=="0"] <- NA
text(xl, yl, txt)
}
## 帯グラフ縦型に数値を入れる
x
cx <- cprp(x)$cp
bp <- barplot(cx, main="帯縦\n 数値の色も変えてみた")
for (i in 1:ncol(x)) {
xl <- bp[i]
yl <- cumsum(cx[,i]) - cx[,i]/2
txt <- round(x[,i], 2)
txt[txt=="0"] <- NA
# パーセントをいれるとき
# txt <- round(cx[,i], 2); txt[txt=="0"] <- NA
text(xl, yl, txt, col=c("white", "black", "blue"))
}
## 棒グラフ横型に数値をいれる
bp <- barplot(x, beside=T, horiz=T, main="棒横")
for (i in 1:ncol(x)) {
xl <- bp[,i]
yl <- x[,i]+2
# yl <- x[,i]/2 # 中心にいれるとき
txt <- round(x[,i], 2)
txt[txt=="0"] <- NA
text(yl, xl, txt)
}
## 積み上げ棒グラフ横に数値を入れる
bp <- barplot(x, horiz=T, main="積み横")
for (i in 1:ncol(x)) {
xl <- bp[i]
yl <- cumsum(x[,i]) - x[,i]/2
txt <- round(x[,i], 2)
txt[txt=="0"] <- NA
text(yl, xl, txt) # 縦型のときとxl, ylを逆にする
}
## 帯グラフ横型に数値を入れる
x
cx <- cprp(x)$cp
bp <- barplot(cx, horiz=T, main="帯横\n軸を%にする", xaxt="n")
axis(1, at=seq(0,1,0.2), labels=paste(seq(0,100,20), "%"))
for (i in 1:ncol(x)) {
xl <- bp[i]
yl <- cumsum(cx[,i]) - cx[,i]/2
txt <- round(x[,i], 2)
txt[txt=="0"] <- NA
# パーセントをいれるとき
# txt <- round(cx[,i], 2); txt[txt=="0"] <- NA
text(yl, xl, txt) # 縦型のときとxl, ylを逆にする
}