堆积的条形图

时间:2017-01-10 17:41:16

标签: r bar-chart

我导入了我的表,其中包含了这些信息。它看起来像这样: 类别编号性别 1 278男 1 13女 2 890男 2 60女 3 80男 3 1029名女性

我试图做一个堆积的条形图,它应该在x轴上向我显示类别(1,2,3),yaxis上的数字,但是条形图也应该向我显示不同类别的女性和男性。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

根据您提供的数据,我认为您正在寻找类似这样的东西,对我而言,“叠加”意味着男性和女性的数字在彼此之上也能显示总数。 beside参数为男性和女性提供了彼此相邻的条形。

x <- "1 278 male 
      1 13 female 
      2 890 male 
      2 60 female 
      3 80 male 
      3 1029 female"

R <- read.table(textConnection(x))
colnames(R) <- c("Categories", "Number", "Gender")
dat <- reshape(R,direction = "wide", idvar = c("Gender"), timevar = c("Categories")) ##barplot requires a vector of heights or a matrix
colnames(dat) <- gsub("Number", "Category", colnames(dat))
barplot(as.matrix(dat[,2:4]), col=c(2,3))
legend("topleft", bty="n", col=c(2,3), legend=dat[, 1], pch=15)

堆积的条形图

enter image description here

并排侧

barplot(as.matrix(dat[,2:4]), col=c(2,3), beside = T)
legend("topleft", bty="n", col=c(2,3), legend=dat[, 1], pch=15)

enter image description here