r - 如何将子组总和作为标签添加到ggplot2中的直方图?
问题描述
我想按组将总和添加到我的直方图中作为标签。我有以下数据:
group total
a 2
a 2
b 4
b 4
c 2
c 9
c 9
我的 r 代码是
size<-df%>%
group_by(group)%>%
summarise(total=sum(total))
df%>%
mutate(name = fct_reorder(group,desc(total))) %>%
ggplot(aes(x=group, y=total)) +
geom_bar(stat="identity", fill="#f68060", alpha=1, width=.7) +
coord_flip() +
xlab("Active Leisure Type") +
theme_bw()+
geom_text(aes(y=size,label=size))
它不工作。我只是想知道是否会geom_text
部分进行任何修复?
解决方案
sum
我们可以为total
每个组中的标签创建一个新列。将除最后一个之外的所有值替换为空,以便每个条形图只打印一个值。
library(tidyverse)
df %>%
mutate(name = fct_reorder(group,desc(total))) %>%
group_by(group) %>%
mutate(new_total=sum(total),
new_total = replace(new_total, -n(), '')) %>%
ggplot(aes(x=group, y=total)) +
geom_bar(stat="identity", fill="#f68060", alpha=1, width=.7) +
coord_flip() +
xlab("Active Leisure Type") +
theme_bw() +
geom_text(aes(label=new_total), size = 5, hjust = -0.5,
vjust = 1, position = "stack")
推荐阅读
- java - 从 Java 中的 XML 标记解析值
- xpages - 动态视图面板中日期的简单自定义 bean
- sql - 简单案例语句中的语法错误
- wpf - WPF拼写检查未在选项卡中加载自定义字典
- javascript - Tracking Facebook Likes and Shares on Website with Google Analytics
- oracle - Oracle Reference Partition - How to make sure I'm getting the benefits when I select
- google-maps - Google Maps API - matching a request with the asynchronous response
- angular - Angular 6 - "Unexpected directive 'NgModel'...Please add a @NgModule annotation"
- java - Pycrypto AES GCM 加密和 Java 解密
- winapi - 如何获取物理设备支持的音频格式(WinAPI、Windows)