Nothing
#' Generate Climate Color Palettes
#'
#' Generates a colorblind friendly color palette with color ranges useful in
#' climate temperature variable plotting.
#'
#' @param palette A character string of palette. The current choices:
#' \itemize{
#' \item{'bluered': from blue through white to red.}
#' \item{'redblue': from red through white to blue.}
#' \item{'yellowred': from yellow through orange to red.}
#' \item{'redyellow': from red through orange to yellow.}
#' \item{'purpleorange': from purple through white to orange.}
#' \item{'orangepurple': from orange through white to purple.}
#' }
#' @param n A number indicating how many colors to generate.
#'
#' @return
#' ClimPalette() returns the function that generates the color palette and the
#' attribute 'na_color'.\cr
#' ClimColors() returns a vector of the colors.
#'
#' @examples
#' lims <- seq(-1, 1, length.out = 21)
#' cb <- ColorBarContinuous(lims, color_fun = ClimPalette('redyellow'), plot = FALSE)
#'
#' cols <- ClimColors(20)
#' cb <- ColorBarContinuous(lims, cols, plot = FALSE)
#'
#' @importFrom grDevices colorRampPalette
#' @export
ClimPalette <- function(palette = "bluered") {
if (palette == "bluered") {
colorbar <- colorRampPalette(rev(c("#67001f", "#b2182b", "#d6604d",
"#f4a582", "#fddbc7", "#f7f7f7",
"#d1e5f0", "#92c5de", "#4393c3",
"#2166ac", "#053061")))
attr(colorbar, 'na_color') <- 'pink'
} else if (palette == "redblue") {
colorbar <- colorRampPalette(c("#67001f", "#b2182b", "#d6604d",
"#f4a582", "#fddbc7", "#f7f7f7",
"#d1e5f0", "#92c5de", "#4393c3",
"#2166ac", "#053061"))
attr(colorbar, 'na_color') <- 'pink'
} else if (palette == "yellowred") {
colorbar <- colorRampPalette(c("#ffffcc", "#ffeda0", "#fed976",
"#feb24c", "#fd8d3c", "#fc4e2a",
"#e31a1c", "#bd0026", "#800026"))
attr(colorbar, 'na_color') <- 'pink'
} else if (palette == "redyellow") {
colorbar <- colorRampPalette(rev(c("#ffffcc", "#ffeda0", "#fed976",
"#feb24c", "#fd8d3c", "#fc4e2a",
"#e31a1c", "#bd0026", "#800026")))
attr(colorbar, 'na_color') <- 'pink'
} else if (palette == "purpleorange") {
colorbar <- colorRampPalette(c("#2d004b", "#542789", "#8073ac",
"#b2abd2", "#d8daeb", "#f7f7f7",
"#fee0b6", "#fdb863", "#e08214",
"#b35806", "#7f3b08"))
attr(colorbar, 'na_color') <- 'pink'
} else if (palette == "orangepurple") {
colorbar <- colorRampPalette(rev(c("#2d004b", "#542789", "#8073ac",
"#b2abd2", "#d8daeb", "#f7f7f7",
"#fee0b6", "#fdb863", "#e08214",
"#b35806", "#7f3b08")))
attr(colorbar, 'na_color') <- 'pink'
} else {
stop("Parameter 'palette' must be one of 'bluered', 'redblue', 'yellowred'",
"'redyellow', 'purpleorange' or 'orangepurple'.")
}
colorbar
}
#'@rdname ClimPalette
#'@export
ClimColors <- function(n, palette = "bluered") {
ClimPalette(palette)(n)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.