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

如何移除ggplot2堆叠面积图中1以上及0以下的空白区域?

解决堆叠面积图y轴空白区域问题

你使用position = "fill"生成的是百分比堆叠面积图,y轴代表各分组占总和的比例,理论范围应为0到1,但ggplot默认会给轴范围添加少量扩展空间,导致出现0以下和1以上的空白区域。

只需在代码中添加scale_y_continuous()函数,强制限定y轴范围并移除默认扩展即可解决:

percentage <- ggplot(mabar, aes(x = as.numeric(Year), y = value, fill = variable)) +
  geom_area(position = "fill", colour = "black", size = .2, alpha = .4) +
  scale_fill_brewer(palette = "Blues") +
  scale_y_continuous(limits = c(0, 1), expand = c(0, 0)) +  # 新增配置
  labs(x = "Year", y = "Percentage of total value of M&A deals")+
  theme(legend.position = "bottom")+ 
  theme_ipsum()

参数说明:

  • limits = c(0, 1):将y轴范围严格锁定在0到1,匹配百分比堆叠的比例区间
  • expand = c(0, 0):取消ggplot默认给坐标轴两端添加的空白扩展,让图形完全贴合0和1的边界

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 02:31:04