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

ggplot饼图问题:按组填充颜色却按单个度量分割

解决ggplot饼图按组聚合的问题

你的问题出在没有先对area组的Eb_impact_value求和,原始数据里每个area对应多条记录,geom_bar默认会把每一行的数值单独作为一个切片,所以饼图才会碎成很多小块。

解决步骤:

  • 先按area分组,计算每组的Eb_impact_value总和
  • 用聚合后的数据集绘制饼图

代码示例

首先加载dplyr做数据聚合(如果没安装先运行install.packages("dplyr")):

library(dplyr)
# 按area分组求和
Book1_agg <- Book1 %>%
  group_by(area) %>%
  summarize(total_value = sum(Eb_impact_value, na.rm = TRUE))

然后用聚合后的数据绘图:

ggplot(Book1_agg, aes(x="", y=total_value, fill=area)) +
  geom_bar(stat="identity", width=1, color="white") +
  coord_polar("y", start=0) +
  theme_void()

如果不想用dplyr,也可以用base R的aggregate函数:

Book1_agg <- aggregate(Eb_impact_value ~ area, data = Book1, sum, na.rm = TRUE)
colnames(Book1_agg)[2] <- "total_value" # 重命名列方便后续绘图

这样生成的饼图就会按area组的总和来分割,每个颜色块对应一个完整的area分组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 08:12:08