一連のデータがあります
x<-rnorm(1000)
画像に示すように、3 つのスタックに 15%、70%、15% のデータを含む 1 つの横棒グラフをプロットする必要があります。
これをRでプロットするにはどうすればよいですか?
barplot(table(cut(x, breaks=quantile(x, probs=c(0,0.15, 0.85, 1) ) ) ) )
これは水平プロットです(「積み上げ棒グラフ」とは呼ばないでしょう)
plot(x=x, y=rep(1,length(x)) , type="n")
segments( x0=c( min(z), quantile(z, probs=c(0,0.15, 0.85) ) ),
x1 =quantile(z, probs=c(0,0.15, 0.85, 1) ) ,
y0=rep(1, 4), y1=rep(1,4) , col=c("red", "green", "blue"), lwd=30, lend=10)
これが実際の例です:
x1 <- table(cut(x, breaks = quantile(x, probs = c(0,0.15, 0.85, 1))))
png(filename="~/test.png", width = 8, height = 2.5, units="in", res = 72)
barplot(
as.matrix(x1), horiz = TRUE,
col = c("lightblue", "yellow", "palegreen"),
axes = FALSE)
axis(1, at = c(0, cumsum(x1)), labels = c(0, 15, 85, 100))
dev.off()
これにより、作業ディレクトリに「test.png」という名前の png ファイルが次のように作成されます。