Mercurial > repos > marie-tremblay-metatoul > 2dnmrannotation
view viridis.R @ 4:cf11fa0c47c8 draft default tip
planemo upload for repository https://github.com/workflow4metabolomics/tools-metabolomics commit b5f7f56b5ffc3c900236c077f72b321df20647be
author | workflow4metabolomics |
---|---|
date | Thu, 23 Jan 2025 15:28:44 +0000 |
parents | 546c7ccd2ed4 |
children |
line wrap: on
line source
viridis <- function(n, alpha = 1, begin = 0, end = 1, direction = 1, option = "D") { if (begin < 0 | begin > 1 | end < 0 | end > 1) { stop("begin and end must be in [0,1]") } if (abs(direction) != 1) { stop("direction must be 1 or -1") } if (direction == -1) { tmp <- begin begin <- end end <- tmp } option <- switch(EXPR = option, A = "A", magma = "A", B = "B", inferno = "B", C = "C", plasma = "C", D = "D", viridis = "D", E = "E", cividis = "E", { warning(paste0("Option '", option, "' does not exist. Defaulting to 'viridis'.")) "D" } ) map <- viridisLite::viridis.map[viridisLite::viridis.map$opt == option, ] map_cols <- grDevices::rgb(map$R, map$G, map$B) fn_cols <- grDevices::colorRamp(map_cols, space = "Lab", interpolate = "spline" ) cols <- fn_cols(seq(begin, end, length.out = n)) / 255 grDevices::rgb(cols[, 1], cols[, 2], cols[, 3], alpha = alpha) }