Add param 'initiative' and remove fallback

Fallback is now included in `scale_*()`
This commit is contained in:
gnoblet 2023-02-19 22:25:02 -05:00
parent b1e4f104cb
commit 1cf130665c

View file

@ -1,5 +1,6 @@
#' @title ggplot2 theme with REACH color palettes #' @title ggplot2 theme with REACH color palettes
#' #'
#' @param initiative Either "reach" or "default".
#' @param palette Palette name from 'pal_reach()'. #' @param palette Palette name from 'pal_reach()'.
#' @param discrete Boolean indicating whether color aesthetic is discrete or not. #' @param discrete Boolean indicating whether color aesthetic is discrete or not.
#' @param reverse Boolean indicating whether the palette should be reversed. #' @param reverse Boolean indicating whether the palette should be reversed.
@ -55,6 +56,7 @@
#' #'
#' @export #' @export
theme_reach <- function( theme_reach <- function(
initiative = "reach",
palette = "main", palette = "main",
discrete = TRUE, discrete = TRUE,
reverse = FALSE, reverse = FALSE,
@ -104,6 +106,14 @@ theme_reach <- function(
# To do : # To do :
# - add facet theming # - add facet theming
if (!initiative %in% c("reach", "default"))
rlang::stop(
c(
paste0("There is no initiative '", initiative, " to be used with theme_reach()."),
"i" = paste0("initiative should be either 'reach', 'agora' or 'default'")
)
)
# Basic simple theme # Basic simple theme
# theme_reach <- ggplot2::theme_bw() # theme_reach <- ggplot2::theme_bw()
@ -248,28 +258,12 @@ theme_reach <- function(
# Other parameters # Other parameters
theme_reach <- theme_reach + ggplot2::theme(...) theme_reach <- theme_reach + ggplot2::theme(...)
# Check if palette is an actual existing palette
pal <- pal_reach(palette)
if(is.null(pal)) {
rlang::warn(
c(
paste0("There is no palette '", palette, "' for initiative 'reach'. Fallback to REACH main palette."),
"i" = paste0("Use `pal_reach(show_palettes = TRUE)` to see the list of availabale palettes.")
)
)
palette <- "main"
}
# Add reach color palettes by default # Add reach color palettes by default
# (reversed guide is defaulted to TRUE for natural reading) # (reversed guide is defaulted to TRUE for natural reading)
theme_reach <- list( theme_reach <- list(
theme_reach, theme_reach,
scale_color(palette = palette, discrete = discrete, reverse = reverse, reverse_guide = legend_reverse), scale_color(initiative = initiative, palette = palette, discrete = discrete, reverse = reverse, reverse_guide = legend_reverse),
scale_fill(palette = palette, discrete = discrete, reverse = reverse, reverse_guide = legend_reverse) scale_fill(initiative = initiative, palette = palette, discrete = discrete, reverse = reverse, reverse_guide = legend_reverse)
) )