我正在寻找一种使用 R 的基本绘图功能将标签(即绝对值)添加到堆叠条形图中的方法。标签应该在堆叠条内。
谢谢!
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)
简单的功能text()
怎么样?
你可以简单地在任何你想要的地方添加一个字符串,例如:
text (x = ..., y = ..., labels = c("foo bar 1000"))
也许您可以使用或检查plotrix包的barp功能