The colorRamp2() function can generate a color
mapping function from a vector of break values and a vector of
corresponding colors. Other colors are linearly interpolated in a
certain color space.
library(colorRamp2)
col_fun = colorRamp2(c(0, 0.5, 1), c("blue", "white", "red"))
col_fun(seq(0, 1, length = 20))## [1] "#0000FFFF" "#522CFFFF" "#7448FFFF" "#8E61FFFF" "#A479FFFF" "#B891FFFF"
## [7] "#C9A9FFFF" "#DAC1FFFF" "#E9DAFFFF" "#F8F3FFFF" "#FFF5F1FF" "#FFE1D6FF"
## [13] "#FFCDBBFF" "#FFB8A1FF" "#FFA388FF" "#FF8E6EFF" "#FF7756FF" "#FF5E3DFF"
## [19] "#FF3F23FF" "#FF0000FF"
plot(NULL, xlim = c(0, 1), ylim = c(0, 1))
x = seq(0, 1, length = 20)
y = rep(0.5, 20)
points(x, y, pch = 16, col = col_fun(x), cex = 2)With the color mapping function col_fun, colors can be
mapped back to the original numeric values. Note since colors are
discrete, the values that are mapped back are not exactly identical to
their original values.
## [1] 0.1420720 0.2639625 0.1149196 0.9821250 0.2566369 0.4988090 0.6150602
## [8] 0.5016494 0.3531023 0.7176191
## [1] 0.1456402 0.2686708 0.1177437 0.9814281 0.2598732 0.4977751 0.6034082
## [8] 0.5019416 0.3555296 0.7025885
## R version 4.6.1 (2026-06-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 26.04.1 LTS
##
## Matrix products: default
## BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so; LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: Etc/UTC
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] colorRamp2_0.0.1 rmarkdown_2.32
##
## loaded via a namespace (and not attached):
## [1] digest_0.6.39 R6_2.6.1 fastmap_1.2.0 xfun_0.62
## [5] maketools_1.3.2 cachem_1.1.0 knitr_1.52 htmltools_0.5.9
## [9] buildtools_1.0.0 lifecycle_1.0.5 cli_3.6.6 sass_0.4.10
## [13] jquerylib_0.1.4 compiler_4.6.1 sys_3.4.3 tools_4.6.1
## [17] evaluate_1.0.5 bslib_0.12.0 colorspace_2.1-4 yaml_2.3.12
## [21] jsonlite_2.0.0 rlang_1.3.0