繁体   English   中英

在ggplot geom_bar中的条形末端添加标签

[英]Adding labels to ends of bars in ggplot geom_bar

这是条形图:

ggplot(mtcars) +
  geom_bar(aes(x = reorder(factor(cyl), mpg), y = mpg), stat="identity") +
  coord_flip()

应该产生这个: 在此处输入图片说明

我想在最后添加标签,以显示每个栏中mpg的总值。 例如,从眼球来看,4cyl看起来大约为290。 我想在标签上添加一个显示确切数字的标签。

我想尝试一下,看看它们的外观,因此为了完整起见:

  • 在酒吧顶部
  • 沿着顶部的酒吧外面
  • 奖励是我可以控制标签是垂直显示还是水平显示。

我找到了这篇 SO帖子,但一直在努力复制所选答案。 这是我的尝试:

ggplot(mtcars) +
  geom_bar(aes(x = reorder(factor(cyl), mpg), y = mpg), stat="identity") +
  coord_flip() +
  geom_text(aes(label = mpg))

这给出了一个错误:

错误:geom_text需要以下缺失的美感:x,y

如何在条形图的末端添加标签?

这将通过生成新的data.frame进行标签打印来完成您需要的工作。 您可以通过调整nudge_yangle来自定义文本的位置。

library(dplyr)
tmp <- mtcars %>% group_by(cyl) %>% summarise(tot_mpg = sum(mpg))
tmp$cyl <- factor(tmp$cyl)
ggplot(mtcars) +
  geom_bar(aes(x = reorder(factor(cyl), mpg), y = mpg), stat="identity") +
  coord_flip() + geom_text(data = tmp, nudge_y = 10, angle = 270,
                           aes(x = cyl, y = tot_mpg, label = tot_mpg))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM