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

如何在基础R中为密度图添加Spectral蓝红渐变色彩?

在基础R中为密度图添加Spectral色彩渐变

要实现从蓝色到红色的Spectral渐变填充密度图,你可以借助RColorBrewer包生成调色板,再通过逐段填充小多边形来实现渐变效果,具体代码如下:

# 加载所需包
library(RColorBrewer)

# 生成数据与密度对象
x <- rnorm(100)
y <- density(x, n = 1000)

# 创建连续的Spectral渐变调色板(100个颜色梯度)
grad_colors <- colorRampPalette(brewer.pal(11, "Spectral"))(100)

# 将密度值映射到对应的颜色索引
color_idx <- cut(y$y, breaks = 100, labels = FALSE)

# 初始化绘图框架(不绘制曲线)
plot(y, type = "n", main = "带Spectral渐变的密度图")

# 逐段填充渐变颜色
for (i in seq_along(y$x)[-length(y$x)]) {
  polygon(
    x = c(y$x[i], y$x[i+1], y$x[i+1], y$x[i]),
    y = c(0, 0, y$y[i+1], y$y[i]),
    col = grad_colors[color_idx[i]],
    border = NA
  )
}

# 叠加密度曲线
lines(y, lwd = 2)

关键步骤说明:

  • 用brewer.pal(11, "Spectral")获取官方的Spectral离散调色板,再通过colorRampPalette扩展为连续渐变的颜色序列。
  • cut函数将密度值(y$y)划分为100个区间,每个区间对应一个渐变颜色。
  • 循环绘制小多边形填充每个x轴区间下的密度区域,实现渐变效果;最后叠加密度曲线保证轮廓清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 08:27:39