2010-11-18 62 views
11

我試圖在與每個小節相同高度的水平barplot的右側添加一些文本,但是,text()和axis()似乎並未在每個高度對應的高度處繪製它酒吧。將文本添加到R中的水平barplot,y軸的不同比例?

這裏有一個類似的barplot

x <- runif(10, 0,1) 
y <- matrix(c(x, 1-x), nrow=2, ncol=10, byrow=TRUE) 
barplot(y, horiz=TRUE, beside=FALSE, names.arg=seq(1,10,1), las=1, xlim=c(0, 1.2)) 

無論這兩個選項正確對齊,請問該比例在這裏工作?

axis(4, at=seq(1,10,1), labels=seq(1,10,1)) 
text(1.1, seq(1,10,1), labels=seq(1, 10, 1)) 

回答

14

通過chacking的barplot的文檔,你可以看到它有一個無形的返回值:條形的中點。您可以使用這些添加額外的信息到情節。

x <- runif(10, 0,1) 
y <- matrix(c(x, 1-x), nrow=2, ncol=10, byrow=TRUE) 
bp <- barplot(y, horiz=TRUE, beside=FALSE, names.arg=seq(1,10,1), las=1, 
       xlim=c(0, 1.2)) 
text(x, bp, signif(x,2), pos=4) 
bp 
+0

THANKs,那太好了。值 數字矢量(或矩陣,當位於= TRUE時),例如mp,給出繪製的所有條中點的座標,可用於添加到圖中。 – CCID 2010-11-18 17:07:03

+0

我從barplot幫助文件複製了文本 – CCID 2010-11-18 17:07:35

+1

爲什麼我昨天的照片被刪除了?使用圖形將有助於理解。 – buhtz 2016-08-24 07:00:00