Geom_bar 与 geom_text 相比具有两个离散变量

Geom_bar compared with geom_text with two discrete variables

我有两个离散变量(摘录:)

Mitarbeiter <- c('0-10', '10-50', '50-250', '250+','10-50', '50-250', '250+', '250+', '0-10')
Behandlung <- c('E-Mail', 'Telefon', 'TV',  'Email', 'Telefon', 'TV', 'Email', 'TV', 'TV') 
Daten <- data.frame(Mitarbeiter, Behandlung)

我已经用 geom_bar 创建了一个图表:

ggplot(Daten, aes(x = Mitarbeiter, fill = Behandlung)) +
  geom_bar(position="fill")+
  labs(title="IT-Sicherheitsumgang nach Mitarbeiteranzahl", x="Mitarbeiter", y="prozentualer Anteil") + # legends
  coord_flip()+
  scale_fill_manual(values=c("snow2","lightblue","skyblue3","#2A5DA3","darkblue"))+
  theme_bw()

现在,我想将特定 Mitarbeiter 组的电视、电话和电子邮件数量添加到绘图中。 我尝试使用不同版本的 geom_text,但它对我不起作用。

你知道解决办法吗? 谢谢!

你可以试试这个:

library(dplyr)
library(ggplot2)

Mitarbeiter <- c('0-10', '10-50', '50-250', '250+','10-50', '50-250', '250+', '250+', '0-10')
Behandlung <- c('Email', 'Telefon', 'TV',  'Email', 'Telefon', 'TV', 'Email', 'TV', 'TV') 
Daten <- data.frame(Mitarbeiter, Behandlung)

ggp <- Daten %>% count(Mitarbeiter,Behandlung)

ggplot(ggp,aes(Mitarbeiter,n,fill=Behandlung)) +
  geom_bar(stat="identity",position = "fill") + 
  geom_text(aes(label=n),position = position_fill(vjust = 0.5))+
  scale_fill_manual(values=c("snow2","lightblue","skyblue3","#2A5DA3","darkblue"))+
  labs(title="IT-Sicherheitsumgang nach Mitarbeiteranzahl", x="Mitarbeiter", y="prozentualer Anteil") +
  coord_flip()+theme_bw()