You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ggplot2将聚合后的电子游戏品类欧盟销量数据绘制成柱状图

方法1:直接使用你已计算好的单个数值绘图

你只需要先把分散的销售额和对应品类整理成ggplot2可识别的数据框,再调用绘图函数即可:

# 未安装ggplot2先运行:install.packages("ggplot2")
library(ggplot2)

# 整理为结构化数据框
eu_sales_df <- data.frame(
  品类 = c("Action", "Sports", "Shooter", "Role-Playing", "Racing"),
  欧盟销售额 = c(vg_action_s, vg_sports_s, vg_shooter_s, vg_rpg_s, vg_racing_s)
)

# 绘制高可读性柱状图
ggplot(eu_sales_df, aes(x = 品类, y = 欧盟销售额)) +
  geom_col(fill = "#2c7fb8") + # 设置柱子填充色
  labs(title = "不同游戏品类的欧盟销售额对比", x = "游戏品类", y = "欧盟销售额(单位:百万)") + # 添加标题和坐标轴说明
  theme_minimal() # 用简洁主题减少视觉干扰

方法2:更推荐的批量汇总方案(无需单独计算每个品类销售额)

你之前逐行filter求和的代码可以合并为更简洁的批量处理逻辑,后续新增品类也不需要重复写代码:

# 未安装dplyr先运行:install.packages("dplyr")
library(dplyr)
library(ggplot2)

# 直接批量筛选目标品类+汇总销售额
eu_sales_df <- videogames %>%
  filter(Genre %in% c("Action", "Sports", "Shooter", "Role-Playing", "Racing")) %>%
  group_by(Genre) %>%
  summarise(EU_Sales = sum(EU_Sales, na.rm = TRUE)) # na.rm=TRUE避免空值导致计算结果错误

# 绘制时可按销售额排序,数据对比更直观
ggplot(eu_sales_df, aes(x = reorder(Genre, -EU_Sales), y = EU_Sales)) +
  geom_col(fill = "#7fbf7b") +
  labs(title = "不同游戏品类的欧盟销售额对比", x = "游戏品类", y = "欧盟销售额(单位:百万)") +
  theme_minimal()

补充说明:geom_col()专门用于已经汇总好的数值绘图,如果你用原始未汇总的数据绘图才需要用geom_bar(stat = "identity"),当前场景用geom_col()更简洁。

内容的提问来源于stack exchange,提问作者billroggio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:15:02