2010-11-18 71 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