2

我正在尝试将每个条形的值添加到我的条形图中。我想在中间写下每个条的值。我知道如何在 Y 轴上找到中点,但我不知道如何在 x 轴上找到中点。如果我知道如何获得每个条的起点和终点,我们可以找到中间点,但我不知道如何。谁能指导我如何解决这个问题?这是我的代码:

G3.AllLevels.data$pos = G3.AllLevels.data$ProfChange*0.5

ggplot(data=G3.AllLevels.data, aes(x=ProfLevel, y=ProfChange, fill=TRTstatus)) + 
   geom_bar(position=position_dodge(), colour="black") + 
   scale_fill_manual(values=c(rgb(198, 64, 5, maxColorValue=255), 
                     rgb(33, 80, 186, maxColorValue=255))) +
   ylab("Change in %Students in Each Level") + 
   xlab("Achievement Levels") + 
   opts(axis.text.x  = theme_text(size=12), 
        axis.title.x = theme_text(size=14),
        axis.title.y = theme_text(angle = 90, size=14))
4

1 回答 1

3

只要您正确构建带有标签的第二个数据框,您实际上并不需要数字坐标:

p <- ggplot(diamonds, aes(clarity, fill=cut)) + 
        geom_bar(position="dodge")

lab_dat <- unique(diamonds[,c("cut","clarity")])
lab_dat$y <- 4000
lab_dat$lab <- with(lab_dat,paste(cut,clarity,sep = "-"))

p + geom_text(data = lab_dat,aes(y=y,label = lab),
                angle = 90,size = 2,position = position_dodge(width = 1))

在此处输入图像描述

于 2012-06-29T20:38:52.253 回答