R图形:向堆积条形图添加标签

时间:2010-09-02 10:45:10

标签: r label bar-chart stacked

我正在寻找一种方法,使用R的基本绘图功能将标签(即绝对值)添加到堆积条形图中。标签应位于堆叠条形图内。

谢谢!

3 个答案:

答案 0 :(得分:8)

barplot将返回条形的中间x位置,因此您可以

mydata <- matrix(c(10, 21, 22, 33, 45, 23, 22, 43, 33), nrow=3)

# b will contain the x midpoints of the bars
b <- barplot(mydata)

# This will write labels in the middle of the bars, horizontally and vertically
text(b, colMeans(mydata), c("Label1", "Label2", "Label3"))

# This will write labels in the middle of the middle block
text(b, mydata[1,]+mydata[2,]/2, c("LabelA", "LabelB", "LabelC"))

编辑:重新阅读您的问题,我认为这是您想要的(或者可能没有,但我会写它仍然是:D)

# Find the top y position of each block 
ypos <- apply(mydata, 2, cumsum)
# Move it downwards half the size of each block
ypos <- ypos - mydata/2
ypos <- t(ypos)

text(b, ypos, mydata)

答案 1 :(得分:1)

简单函数text()怎么样?

您可以随意添加字符串,例如:

text (x = ..., y = ..., labels = c("foo bar 1000"))

答案 2 :(得分:0)

也许你可以使用或检查plotrix包的 barp 功能