0

我是 R 新手。我希望其他人向我解释如何使用基本的 R 绘图功能(R 基)以一致的方式在各个堆叠条内添加绝对值。我尝试使用 R 基数绘制堆积条形图,但这些值以不一致/不合逻辑的方式出现,以至于每个村庄的值应该是 100%,但它们的总和不等于 100%。以下是正在处理的数据:

Village     100          200    300 400     500
Male    68.33333      53.33333   70 70      61.66667
Female  31.66667      46.66667   30 30      38.33333

综上所述,共有 5 个村,数据显示了按性别访问的户主。

我使用以下命令绘制图形:

barplot(mydata,col=c("yellow","green")
x<-barplot(mydata,col=c("yellow","green")
text(x,mydata,labels=mydata,pos=3,offset=.5)

请帮助在每个栏中分配正确的值谢谢

4

1 回答 1

3

您需要使用 计算高度cumsum。像这样的东西:

heights =c(cumsum(dat[,1])-dat[,1]/2,cumsum(dat[,2])-dat[,2]/2),

我假设你的数据是,但同样的方法也可以应用于翻译,

 dat
        Male   Female
100 68.33333 31.66667
200 53.33333 46.66667
300 70.00000 30.00000
400 70.00000 30.00000
500 61.66667 38.33333

例如我这样做:

midpts <- barplot(dat,col=rainbow(5),beside=F)
legend(2, 320, rownames(dat), cex=1, angle = c(135, 45),  fill =rainbow(5))
text(x= rep(midpts,each=5),
y =c(cumsum(dat[,1])-dat[,1]/2,cumsum(dat[,2])-dat[,2]/2),
label = round(unlist(dat),2),cex=1.2)

在此处输入图像描述

于 2013-02-18T08:32:02.450 回答