小编Mik*_*keM的帖子

带百分比标签的 Ggplot 堆积条形图

我正在尝试根据计数绘制堆积条形图,但标签显示图上的百分比。我制作了下面的情节。然而,该百分比是基于所有数据的。我追求的是球队的百分比(例如澳大利亚的百分比之和= 100%,英格兰的百分比= 100%)。 团队情节

实现这一点的代码是以下函数。此函数计算 5 场比赛中每支球队中不同角色的数量(我必须将结果除以 10,因为球员角色在每场比赛中出现两次(5 场比赛 x 2 次出场):

team_roles_Q51 <- function(){
        ashes_df <- tidy_data()
        
        graph <- ggplot(ashes_df %>%
                        count(team, role) %>%       #Groups by team and role
                        mutate(pct=n/sum(n)),       #Calculates % for each role
               aes(team, n, fill=role)) +
                geom_bar(stat="identity") +
                scale_y_continuous(labels=function(x)x/10) +      #Needs to be a better way than dividing by 10
                ylab("Number of Participants") +
                geom_text(aes(label=paste0(sprintf("%1.1f", pct*100),"%")),
                          position=position_stack(vjust=0.5)) +
                ggtitle("England & Australia Team Make Up") +
                theme_bw()

        print(graph)
}
Run Code Online (Sandbox Code Playgroud)

导入的数据框的示例是:

导入数据框

数据帧前 10 行的结构如下:

structure(list(batter = c("Ali", "Anderson", "Bairstow", …
Run Code Online (Sandbox Code Playgroud)

r bar-chart ggplot2 dplyr

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

bar-chart ×1

dplyr ×1

ggplot2 ×1

r ×1