繁体   English   中英

在 ggplot 中创建带有两个变量的堆叠条形图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM