【发布时间】:2021-09-09 17:59:48
【问题描述】:
我有以下数据集(在文件 emp1.txt 中,我想根据年龄范围绘制一个分组条形图,并且我想为每个组创建 Male 和 Female 的堆叠选项。
Count Male Female Emp_group
38 10 28 Staff
38 20 18 Teacher
33 15 18 Teacher
34 17 17 Teacher
41 35 6 Staff
45 25 20 Teacher
35 17 18 Staff
39 30 9 Staff
39 9 30 Teacher
44 22 22 Staff
42 20 22 Teacher
这是我尝试过的,但无法弄清楚堆叠的部分。我将不胜感激任何帮助。红条和绿条都应分别分为Male 和Female 两部分。另外我想在图例中添加Male 和Female 的颜色描述。
data <- read.csv("emp1.txt", sep = "\t" , header = TRUE)
df1<-tibble(data)
df1<- mutate(df1, emp_class = cut(Count, breaks = c(0, 30, 40, 50, 60, 100),
labels = c('(0-30)', '(31-40)', '(41-50)', '(51-60)', '(61-100)')))
df1 <- df1 %>%
group_by(Emp_group) %>%
add_count()
df1 <- mutate(df1, x_axis = paste(Emp_group, n, sep = "\n"))
my_ggp <- ggplot(df1, aes(x=as.factor(x_axis), fill=as.factor(emp_class)))+
geom_bar(aes( y=..count../tapply(..count.., ..x.. ,sum)[..x..]*100), position="dodge") + ylab('% Employes') +xlab("") + labs(fill = "Count group")
df1
my_ggp + theme(text = element_text(size = 20))
【问题讨论】:
-
这不是一个可重现的例子。我们无权访问
"emp1.txt"。请使用dput()将其放入您的问题中。 -
谢谢!!我已经更新了这个问题。
emp1.txt是一个大文件,所以我只是复制了前几行并放在这里。
标签: r ggplot2 stacked-chart