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

如何将R基础包中的颜色函数替换为色盲友好型调色板?

适配色盲人群的R基础包调色板解决方案

直接用R基础包grDevices内置的hcl.colors()函数替换原代码中的topo.colors()即可,该函数支持多种经过验证的色盲安全配色方案,完全无需额外安装扩展包。

推荐几种适配色盲的调色板选项:

  • "Okabe-Ito":经典8色分类调色板,色彩区分度极高,适配红绿色盲、蓝黄色盲人群
  • "viridis":兼具连续/分类适配性的配色,对色盲人群友好的同时视觉效果统一
  • "plasma":渐变色系,同样具备色盲安全特性,适合需要渐变表达的场景

修改后的代码如下:

# 选用Okabe-Ito色盲友好调色板(若分类数超过8,可换viridis/plasma)
colors.use = hcl.colors(nlevels(fish$Region), palette = "Okabe-Ito")

for (i in 1:nlevels(fish$Region)) {
  predictions = predict(g1, type="response", newdata = data.frame(Distance= 1000, Average_Depth = seq(0,3000,length=1000), Region = levels(fish$Region)[i]))
  if (i == 1) {
    plot(seq(0,3000,length=1000), predictions, 
         type = 'l', col=colors.use[i], pch=i,
         xlab= "Depth (m)", ylab = "fish/1000 m")
  } else {
    lines(seq(0,3000,length=1000), predictions, col=colors.use[i], pch=i)
  }
}

注:hcl.colors()从R 3.6.0版本开始成为基础包内置函数,若你的R版本较低,可使用colorspace包的同名函数,但根据需求,优先使用基础包内置的实现即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:08:22