2013-02-18 72 views
0

我是R新手。我希望其他人請向我解釋如何使用基本R繪圖以一致的方式在單個堆積條內添加絕對值功能(R基地)。我嘗試使用R基礎繪製堆積的條形圖,但這些值以不一致/不合邏輯的方式出現,其方式應該是每個村莊100%,但它們不會達到100%。 這裏是我工作的數據:如何使用R-base標記堆積條形圖內的百分比值

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) 

請幫忙在每個酒吧分配正確的價值觀 感謝

回答

2

你需要使用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) 

enter image description here