Nothing
#' BdE scales for `ggplot2`.
#'
#' @description
#'
#' Scales to be used with the `ggplot2` package. Discrete palettes are named
#' as `scale_*_bde_d` while continuous palettes are named `scale_*_bde_c`.
#'
#' @seealso [bde_vivid_pal()], [ggplot2::discrete_scale()],
#' [ggplot2::continuous_scale()]
#'
#' @family bde_plot
#'
#' @export
#'
#' @return A `ggplot2` color scale.
#'
#' @rdname scales_bde
#'
#' @name scales_bde
#'
#' @param palette Name of the BdE palette to apply. One of "bde_vivid_pal",
#' "bde_rose_pal". See [bde_pals()] for details.
#'
#' @param ... Further arguments of [ggplot2::discrete_scale()] or
#' [ggplot2::continuous_scale()].
#'
scale_color_bde_d <- function(palette = c("bde_vivid_pal", "bde_rose_pal"),
...) { # nocov start
palette <- match.arg(palette)
valid_pals <- c("bde_vivid_pal", "bde_rose_pal")
if (!palette %in% valid_pals) {
stop("palette should be one of: ", paste0(valid_pals, collapse = ", "))
}
cols <- switch(palette,
"bde_vivid_pal" = bde_vivid_pal(),
"bde_rose_pal" = bde_rose_pal()
)
ggplot2::discrete_scale(
aesthetics = "color",
scale_name = palette,
palette = cols,
...
)
# nocov end
}
#' @rdname scales_bde
#' @name scales_bde
#' @export
scale_fill_bde_d <- function(palette = c("bde_vivid_pal", "bde_rose_pal"),
...) { # nocov start
palette <- match.arg(palette)
valid_pals <- c("bde_vivid_pal", "bde_rose_pal")
if (!palette %in% valid_pals) {
stop("palette should be one of :", paste0(valid_pals, collapse = ", "))
}
cols <- switch(palette,
"bde_vivid_pal" = bde_vivid_pal(),
"bde_rose_pal" = bde_rose_pal()
)
ggplot2::discrete_scale(
aesthetics = "fill",
scale_name = palette,
palette = cols,
...
)
# nocov end
}
#' @rdname scales_bde
#' @name scales_bde
#' @export
scale_color_bde_c <- function(palette = c("bde_vivid_pal", "bde_rose_pal"),
...) { # nocov start
palette <- match.arg(palette)
valid_pals <- c("bde_vivid_pal", "bde_rose_pal")
if (!palette %in% valid_pals) {
stop("palette should be one of :", paste0(valid_pals, collapse = ", "))
}
cols <- switch(palette,
"bde_vivid_pal" = bde_vivid_pal()(6),
"bde_rose_pal" = c(bde_rose_pal()(6)[1:3], bde_rose_pal()(6)[6:4])
)
ggplot2::continuous_scale(
aesthetics = "color",
scale_name = palette,
palette = scales::gradient_n_pal(cols),
...
)
# nocov end
}
#' @rdname scales_bde
#' @name scales_bde
#' @export
scale_fill_bde_c <- function(palette = c("bde_vivid_pal", "bde_rose_pal"),
...) { # nocov start
palette <- match.arg(palette)
valid_pals <- c("bde_vivid_pal", "bde_rose_pal")
if (!palette %in% valid_pals) {
stop("palette should be one of :", paste0(valid_pals, collapse = ", "))
}
cols <- switch(palette,
"bde_vivid_pal" = bde_vivid_pal()(6),
"bde_rose_pal" = c(bde_rose_pal()(6)[1:3], bde_rose_pal()(6)[6:4])
)
ggplot2::continuous_scale(
aesthetics = "fill",
scale_name = palette,
palette = scales::gradient_n_pal(cols),
...
)
# nocov end
}
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.