30 lines
1.1 KiB
R
30 lines
1.1 KiB
R
#' @title Return function to interpolate a fallback palette base on viridis::magma()
|
|
#'
|
|
#' @param reverse Boolean indicating whether the palette should be reversed
|
|
#' @param color_ramp_palette Should the output be a `grDevices::colorRampPalette` function or a vector of hex codes? Default to the latter with `FALSE`
|
|
#' @param discrete Boolean. Discrete or not? Default to FALSE.
|
|
#' @param n Number of colors in the palette. Default to 5. Passe to `viridis::magma()`
|
|
#' @param ... Other parameters to pass to `grDevices::colorRampPalette()`
|
|
#'
|
|
#' @return A color palette
|
|
#'
|
|
#' @export
|
|
pal_fallback <- function(reverse = FALSE,
|
|
color_ramp_palette = FALSE,
|
|
discrete = FALSE,
|
|
n = 5,
|
|
...){
|
|
|
|
pal <- if(discrete) { viridisLite::viridis(n) } else {viridisLite::magma(n)}
|
|
|
|
if (reverse) pal <- rev(pal)
|
|
|
|
if (color_ramp_palette) {
|
|
rlang::check_installed("grDevices", reason = "Package \"grDevices\" needed for `pal_fallback()` with 'color_ramp_palette' set to `TRUE` to work. Please install it.")
|
|
|
|
pal <- grDevices::colorRampPalette(pal, ...)
|
|
}
|
|
|
|
return(pal)
|
|
|
|
}
|