[英]Creating a stacked barplot with two variables in ggplot
我想创建一个带有两个变量的堆叠条形图,即niveau
en vak
,其中vak
显示在 x 轴上,而niveau
显示为两个堆叠条(具有不同的颜色)。 目前我只有 plot ,其中 y 轴包含计数,但我想将其更改为百分比。 如果百分比显示在条形图中会非常好,这样可以清楚地知道特定值在数据集中出现了多少次。
vakken <- ggplot(data=etadam, aes(x = vak, fill = niveau)) + geom_bar(stat="count", width = 0.85, position = 'dodge') + scale_fill_manual(values = c('#ffd308', 'black')) + geom_text(stat='count', aes(label=..count..), vjust=1.4, colour = "white", size = 4, position = position_dodge(0.8)) + labs(x = NULL, y = 'aantallen', title = 'Vak per niveau', subtitle = 'N = 400 | alle trainingen', caption = 'Leren voor de Toekomst ©')
数据
ID tijd gevoel waardevol vak niveau vertrouwen uitleg
1 90 2021-04-25 15:16:11 VrolijkGemotiveerd Ja Engels HAVO Ja Zeer goed
2 91 2021-04-25 15:17:08 RelaxtGemotiveerd Vrolijk Ja Engels HAVO Ja Zeer goed
3 92 2021-04-25 15:49:16 Neutraal Ja Wiskunde A HAVO Ja Zeer goed
4 93 2021-04-25 15:49:00 TrotsGezegend Ja Wiskunde A HAVO Ja Normaal
5 94 2021-04-25 15:49:03 Neutraal Ja Wiskunde A HAVO Nee Kan beter
6 95 2021-04-25 15:49:23 Neutraal Ja Wiskunde A HAVO Ja Goed
这是你要找的吗?
df <- data.frame(vak = c("Engels", "Engels", "Wiskunde A", "Wiskunde A", "Wiskunde A", "Wiskunde A"), niveau = rep("HAVO", 6))
df.prop <- reshape2::melt(prop.table(table(df$vak, df$niveau), margin = 2))
df.prop$value <- round(df.prop$value * 100, 2)
ggplot(df.prop, aes(x = Var1, y = value)) +
geom_bar(stat = 'identity', fill = c('#ffd308', 'black')) +
geom_text(aes(label = value), vjust=1.4, colour = "white", size = 4, position = position_dodge(0.8)) +
labs(x = NULL, y = 'aantallen', title = 'Vak per niveau', subtitle = 'N = 400 | alle trainingen', caption = 'Leren voor de Toekomst ©')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.