基于R语言构建含特定区间与过渡的色觉缺陷友好渐变调色板
构建色觉友好的自定义渐变调色板
实现步骤与代码
首先加载viridis包获取色觉缺陷优化的颜色,再通过自定义断点和过渡段构建符合要求的调色板:
# 加载依赖包并获取色觉友好颜色 library(viridis) library(scales) colors <- viridis(4) gray_color <- gray(0.5) # 选用适配色觉缺陷的中性灰色 # 定义断点与对应颜色:通过重复颜色节点实现固定色区间+0.05长度过渡段 breaks <- c(0, 0.575, 0.625, 0.665, 0.715, 0.765, 0.815, 0.865, 0.915, 1) palette_colors <- c(gray_color, gray_color, colors[1], colors[1], colors[2], colors[2], colors[3], colors[3], colors[4], colors[4]) # 创建渐变调色板函数 custom_palette <- gradient_n_pal(palette_colors, breaks = breaks, space = "Lab")
效果验证
生成100个连续颜色并可视化,确认渐变与区间符合要求:
# 生成测试颜色序列 test_colors <- custom_palette(seq(0, 1, length.out = 100)) # 可视化调色板样式 barplot(rep(1, 100), col = test_colors, border = NA, main = "自定义色觉友好渐变调色板")
逻辑说明
- 0 ~ 0.575:纯中性灰色
- 0.575 ~ 0.625:灰色到
colors[1]的过渡段(长度0.05) - 0.625 ~ 0.665:纯
colors[1] - 0.665 ~ 0.715:
colors[1]到colors[2]的过渡段(长度0.05) - 后续区间以此类推,最终0.915 ~ 1为纯
colors[4] - 所有颜色(含灰色)均考虑色觉缺陷适配,保证通用性
内容的提问来源于stack exchange,提问作者ava
相关产品推荐
相关产品推荐

