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

如何用R生成正确的分类商品销售额堆叠条形图?

解决堆叠条形图子类别占比错误的问题

你的问题核心是数据未按category-item组合做汇总:如果原始数据中存在同一商品在同一品类下的多条销售记录,直接绘图会把每条记录的销售额作为独立堆叠段,导致子类别占比显示混乱(但总额是所有记录的累加值,所以看起来总额正确)。

解决步骤如下:

  1. 加载依赖包:确保已安装并加载数据处理和绘图所需的包
library(ggplot2)
library(dplyr)
  1. 分组计算总销售额:按品类和商品分组,汇总每个组合的总销售额
# 生成去重并汇总后的数据框
sales_summary <- sales_amount %>%
  group_by(category, item) %>%
  summarise(total_amount = sum(amount), .groups = "drop")
  1. 用汇总数据绘图:使用汇总后的总销售额作为y轴变量,确保每个子类别只对应一个实际总销售额
ggplot(sales_summary, aes(fill = item, y = total_amount, x = category)) +
  geom_bar(stat = "identity", position = "stack", width = 0.6) +
  labs(title = "各品类下商品的总销售额", x = "品类", y = "总销售额") +
  scale_y_continuous(labels = scales::comma) +
  coord_flip()

如果你的示例数据就是完整无重复的数据集,那现有代码本身是正确的——但从你描述的问题来看,实际数据大概率存在重复的category-item记录,因此必须先做汇总处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:30:07