首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用ggplot2为条形图添加正条和负条标签

如何使用ggplot2为条形图添加正条和负条标签
EN

Stack Overflow用户
提问于 2012-08-14 00:20:13
回答 1查看 25.9K关注 0票数 33

我正在尝试用ggplot2绘制一个带正负条的带标签的条形图。

到目前为止,这是有效的,但我想将标签设置在栏外,以便它在栏的上方或下方。我尝试在vjust = c(x1,...,xn)中设置调整,其中x是根据geom_text()中条形图的值为正值或负值。这不管用。我刚刚收到错误消息:“当设置美学时,它们可能只接受一个值。

使用正常的plot命令。我想在ggplot2中复制此命令:

xpos <- barplot(d, col=mycols, main='Verteilung in Dresden 2004',
         ylab='Anteil in %', xlab='Milieu', names.arg=l, 
         cex.axis=0.7, cex.names=0.7, ylim=c(0,max(d)+0.05))
boxed.labels(xpos,d+0.02,sprintf('%d%s', d*100, '%'),
          bg='transparent', border=FALSE, cex=0.7)

所以它看起来就像在漂亮的.;-)

有人有什么建议吗?

谢谢你们的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 01:57:34

这样就行了。

library(plyr)
library(ggplot2)
library(scales)
dtf <- data.frame(x = c("ETB", "PMA", "PER", "KON", "TRA", 
                  "DDR", "BUM", "MAT", "HED", "EXP"),
                  y = c(.02, .11, -.01, -.03, -.03, .02, .1, -.01, -.02, 0.06))
ggplot(dtf, aes(x, y)) +
  geom_bar(stat = "identity", aes(fill = x), legend = FALSE) + 
  geom_text(aes(label = paste(y * 100, "%"),
               vjust = ifelse(y >= 0, 0, 1))) +
  scale_y_continuous("Anteil in Prozent", labels = percent_format()) +
  opts(axis.title.x = theme_blank())

票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11938293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档