开发者

add text to horizontal barplot in R, y-axis at different scale?

开发者 https://www.devze.com 2023-01-25 23:33 出处:网络
I\'m trying to add some text to the right hand side of a horizontal barplot at the same heights as each bar, however, both text() and axis() don\'t seem to plot this at the heights corresponding to ea

I'm trying to add some text to the right hand side of a horizontal barplot at the same heights as each bar, however, both text() and axis() don't seem to plot this at the heights corresponding to each bar.

Here's a similar 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))

Neither of these two options align properly, how does the s开发者_运维百科caling work here?

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


By chacking the documentation of barplot, you can see that it has an invisible return value: the midpoints of the bars. You can use those to add additional information to the plot.

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

精彩评论

暂无评论...
验证码 换一张
取 消