如何在R中绘制条件柱状图统计各世代传说级宝可梦数量
实现方案说明
- 不需要使用Excel的
countif函数,R生态有原生适配的语法可以直接实现需求,核心逻辑是按Generation字段分组后对Is_legendary字段求和(该字段为0/1二值,求和结果就是对应世代的传说级宝可梦总数)
方法1:tidyverse 流派(代码可读性高,主流方案)
需提前安装加载dplyr和ggplot2包:
# 加载依赖包 library(dplyr) library(ggplot2) # 按世代统计传说宝可梦数量 legendary_count <- df %>% group_by(Generation) %>% summarise(legendary_total = sum(Is_legendary)) # 绘制柱状图 ggplot(legendary_count, aes(x = factor(Generation), y = legendary_total)) + geom_col(fill = "#FB1B1B") + labs(x = "宝可梦世代", y = "传说级宝可梦数量", title = "各世代传说级宝可梦数量统计") + theme_minimal()
方法2:基础R实现(无需加载额外包)
# 按世代统计数量 legendary_count <- aggregate(Is_legendary ~ Generation, data = df, FUN = sum) # 绘制柱状图 barplot(legendary_count$Is_legendary, names.arg = legendary_count$Generation, xlab = "宝可梦世代", ylab = "传说级宝可梦数量", main = "各世代传说级宝可梦数量统计", col = "#FB1B1B")
内容的提问来源于stack exchange,提问作者Sophie
相关产品推荐
相关产品推荐

