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

如何绘制基于y值填充颜色的平滑geom_area图?

实现基于y值渐变填充的平滑面积图

要实现类似ggridges包中geom_density_ridges_gradient的渐变填充效果,同时保留geom_area的平滑样式,无需用geom_col拼接矩形,你可以用ggforce包的geom_gradient_area函数直接实现:

完整代码示例

# 首次使用需安装ggforce包
install.packages("ggforce")

library(ggplot2)
library(ggforce)

# 设置随机种子保证结果可复现
set.seed(123)
data <- data.frame(x = 1:100,
                   y = rnorm(100, 20, 3))

# 绘制渐变填充的平滑面积图
ggplot(data, aes(x = x, y = y)) +
  geom_gradient_area(aes(fill = y)) +
  scale_fill_viridis_c(option = "plasma") # 可选:用viridis系渐变优化配色

补充说明

  • geom_gradient_area会自动按x轴分段,根据每段对应的y值生成渐变填充,既保留了geom_area的平滑曲线,又实现了类似geom_col的逐段颜色映射效果。
  • 若不想额外安装包,也可以手动将数据转换为多边形顶点后用geom_polygon实现,但步骤繁琐,效果远不如ggforce的方案简洁直观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:00:42