r - 将计数添加到 X 轴标签中的每个组
问题描述
我有一个类似于这个的分组条形图
我想在 X 轴的“演员”标签下方添加每个组的计数,例如以较小文本显示的演员数量。我无法计算每个组的数量。
以下是我到目前为止所拥有的
data <- read.csv("employee.txt", sep = "\t" , header = TRUE)
df1<-tibble(data)
df1<- mutate(df1, emp_class = cut(emp_type))
df1<- mutate(df1, emp_class = cut(LPA_CN, breaks = seq(10, 80, by = 20)))
my_ggp <- ggplot(df1, aes(x=as.factor(Employee), fill=as.factor(emp_class)))+geom_bar(aes( y=..count../tapply(..count.., ..x.. ,sum)[..x..]*100), position="dodge") + ylab('% of total') +xlab("") + labs(fill = "Types")
my_ggp + theme(text = element_text(size = 20))
我将不胜感激任何帮助。
解决方案
这是 iris 数据集的示例:此处使用的方法是添加带有标签的列:mutate(x_axis = paste(Species, n, sep = "\n"))
# preparing data:
iris1 <- iris %>%
group_by(Species) %>%
add_count() %>%
mutate(x_axis = paste(Species, n, sep = "\n")) %>%
pivot_longer(-c(Species, n, x_axis))
# plot
ggplot(iris1, aes(x=x_axis, fill=Species)) +
geom_bar(aes( y=..count../tapply(..count.., ..x.. ,sum)[..x..]*100),
position="dodge") +
ylab('% of total') +
xlab("") + labs(fill = "Types")
推荐阅读
- apache - HTTP 到 HTTPS 重定向问题 POST 方法
- java - 如何删除构造函数中的重复代码?
- dart - Flutter Http Request:响应状态码无效
- c# - “UnityEngine.RuntimePlatform.OSXDashboardPlayer”已过时
- java - ListView / SimpleAdapter 不刷新 - Android
- java - 管理 JPA 实体的 Spring 状态机
- java - 在 AWS lambda 中使用 Dagger 并定期刷新模块
- scala - Spark-Scala build.sbt libraryDependencies UnresolvedDependency
- json - JSON 对象解析但忽略集合中的第一项
- c++ - 如何在构建 clang 插件时绕过依赖构建?