我想在ggplot2中的堆积条形图上显示数据值.这是我尝试过的代码
Year <- c(rep(c("2006-07", "2007-08", "2008-09", "2009-10"), each = 4))
Category <- c(rep(c("A", "B", "C", "D"), times = 4))
Frequency <- c(168, 259, 226, 340, 216, 431, 319, 368, 423, 645, 234, 685, 166, 467, 274, 251)
Data <- data.frame(Year, Category, Frequency)
library(ggplot2)
p <- qplot(Year, Frequency, data = Data, geom = "bar", fill = Category, theme_set(theme_bw()))
p + geom_text(aes(label = Frequency), size = 3, hjust = 0.5, vjust = 3, position = "stack")
Run Code Online (Sandbox Code Playgroud)

我想在每个部分的中间显示这些数据值.在这方面的任何帮助将受到高度赞赏.谢谢
我试图绘制好的stacked percent barchart使用ggplot2.我已经阅读了一些材料,几乎可以设法绘制,我想要什么.另外,我附上材料,它可能在一个地方有用:
如何在不创建摘要数据框的情况下在ggplot2中标记堆积条形图?
R堆积百分比条形图,包含二元因子和标签的百分比(使用ggplot)
我的问题是我不能放在labels我想要的地方- 在酒吧中间.
您可以在上面的图片中看到问题 - 标签看起来很糟糕,并且彼此重叠.
我现在正在寻找的是:
如何在酒吧(区域)的中间放置标签
如何绘制不是所有标签,但例如哪些标签超过10%?
如何解决重叠问题?
对于Q 1.@MikeWise建议可能的解决方案.但是,我仍然无法处理这个问题.
另外,我附上了可重复的例子,我是如何绘制这个grahp的.
library('plyr')
library('ggplot2')
library('scales')
set.seed(1992)
n=68
Category <- sample(c("Black", "Red", "Blue", "Cyna", "Purple"), n, replace = TRUE, prob = NULL)
Brand <- sample("Brand", n, replace = TRUE, prob = NULL)
Brand <- paste0(Brand, sample(1:5, n, replace = TRUE, prob = NULL))
USD <- abs(rnorm(n))*100
df <- data.frame(Category, Brand, USD)
# Calculate the percentages …Run Code Online (Sandbox Code Playgroud)