diff --git a/.lintr b/.lintr index def1262..3706d7d 100644 --- a/.lintr +++ b/.lintr @@ -1,5 +1,6 @@ linters: linters_with_defaults( - pipe_consistency_linter(pipe = "auto") + pipe_consistency_linter(pipe = "auto"), + object_name_linter(styles = "snake_case", regexes = c("na\\.value")) ) exclude: "^#| fig.alt = " encoding: "UTF-8" diff --git a/NEWS.md b/NEWS.md index 08a201d..5a2f8d4 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ # sgplot (development version) +* Deprecate `na_colour` arguments in `scale_fill_continuous_sg()`/ +`scale_colour_continuous_sg()` functions in favour of new argument, `na.value` +(#73). + * Vignettes are converted to articles. Vignettes are now not available to view locally and only via the [pkgdown site](https://scotgovanalysis.github.io/sgplot/) (#66). diff --git a/R/scale_continuous_sg.R b/R/scale_continuous_sg.R index 59a3fb2..b76cb8d 100644 --- a/R/scale_continuous_sg.R +++ b/R/scale_continuous_sg.R @@ -2,9 +2,10 @@ #' #' @param palette Name of palette to use; e.g. "main", "sequential", "focus". #' Default value is "sequential". -#' @param na_colour Colour to set for missing values. +#' @param na.value Colour to set for missing values. #' @param guide A name or function used to create guide. Default is "colourbar". #' @inheritParams scale_colour_discrete_sg +#' @param na_colour `r lifecycle::badge('deprecated')` Use `na.value` instead. #' #' @returns ggplot2 continuous colour/fill scale #' @@ -24,9 +25,19 @@ scale_colour_continuous_sg <- function(palette = "sequential", palette_type = "sg", reverse = FALSE, - na_colour = "grey50", + na.value = "grey50", guide = "colourbar", - ...) { + ..., + na_colour = deprecated()) { + + if (lifecycle::is_present(na_colour)) { + lifecycle::deprecate_warn( + when = "0.4.0", + what = "scale_colour_continuous_sg(na_colour)", + with = "scale_colour_continuous_sg(na.value)" + ) + na.value <- na_colour + } colours <- sg_palette(palette = palette, @@ -36,7 +47,7 @@ scale_colour_continuous_sg <- function(palette = "sequential", ggplot2::continuous_scale( aesthetics = "colour", palette = scales::gradient_n_pal(colours, values = NULL, "Lab"), - na.value = na_colour, + na.value = na.value, guide = guide, ... ) @@ -49,9 +60,19 @@ scale_colour_continuous_sg <- function(palette = "sequential", scale_fill_continuous_sg <- function(palette = "sequential", palette_type = "sg", reverse = FALSE, - na_colour = "grey50", + na.value = "grey50", guide = "colourbar", - ...) { + ..., + na_colour = deprecated()) { + + if (lifecycle::is_present(na_colour)) { + lifecycle::deprecate_warn( + when = "0.4.0", + what = "scale_fill_continuous_sg(na_colour)", + with = "scale_fill_continuous_sg(na.value)" + ) + na.value <- na_colour + } colours <- sg_palette(palette = palette, @@ -61,7 +82,7 @@ scale_fill_continuous_sg <- function(palette = "sequential", ggplot2::continuous_scale( aesthetics = "fill", palette = scales::gradient_n_pal(colours, values = NULL, "Lab"), - na.value = na_colour, + na.value = na.value, guide = guide, ... ) diff --git a/R/use_sgplot.R b/R/use_sgplot.R index d9f6bb4..cdd1da3 100644 --- a/R/use_sgplot.R +++ b/R/use_sgplot.R @@ -67,17 +67,17 @@ use_sgplot <- function(palette_type = "sg", # Use sgplot colour palette ---- options( - ggplot2.continuous.fill = function() { - scale_fill_continuous_sg(palette_type = palette_type) + ggplot2.continuous.fill = function(...) { + scale_fill_continuous_sg(palette_type = palette_type, ...) }, - ggplot2.continuous.colour = function() { - scale_colour_continuous_sg(palette_type = palette_type) + ggplot2.continuous.colour = function(...) { + scale_colour_continuous_sg(palette_type = palette_type, ...) }, - ggplot2.discrete.fill = function() { - scale_fill_discrete_sg(palette_type = palette_type) + ggplot2.discrete.fill = function(...) { + scale_fill_discrete_sg(palette_type = palette_type, ...) }, - ggplot2.discrete.colour = function() { - scale_colour_discrete_sg(palette_type = palette_type) + ggplot2.discrete.colour = function(...) { + scale_colour_discrete_sg(palette_type = palette_type, ...) } ) diff --git a/man/scale_colour_continuous_sg.Rd b/man/scale_colour_continuous_sg.Rd index f1d0a34..f2a5cb3 100644 --- a/man/scale_colour_continuous_sg.Rd +++ b/man/scale_colour_continuous_sg.Rd @@ -9,18 +9,20 @@ scale_colour_continuous_sg( palette = "sequential", palette_type = "sg", reverse = FALSE, - na_colour = "grey50", + na.value = "grey50", guide = "colourbar", - ... + ..., + na_colour = deprecated() ) scale_fill_continuous_sg( palette = "sequential", palette_type = "sg", reverse = FALSE, - na_colour = "grey50", + na.value = "grey50", guide = "colourbar", - ... + ..., + na_colour = deprecated() ) } \arguments{ @@ -33,11 +35,13 @@ available palette types, run \code{available_palette_types()}.} \item{reverse}{Boolean value to indicate whether the palette should be reversed.} -\item{na_colour}{Colour to set for missing values.} +\item{na.value}{Colour to set for missing values.} \item{guide}{A name or function used to create guide. Default is "colourbar".} \item{...}{Additional arguments passed to scale type.} + +\item{na_colour}{\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}} Use \code{na.value} instead.} } \value{ ggplot2 continuous colour/fill scale