From 3942e30f60c1130a15ed728d7494c430e8b6072b Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Wed, 21 Jun 2017 15:59:59 -0700 Subject: [PATCH 01/15] Begin viridis scales --- DESCRIPTION | 4 ++- NAMESPACE | 7 ++++++ R/scale-viridis.r | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++ R/zxx.r | 10 ++++++++ man/scale_alpha.Rd | 3 ++- man/scale_brewer.Rd | 3 ++- man/scale_gradient.Rd | 3 ++- man/scale_grey.Rd | 3 ++- man/scale_hue.Rd | 3 ++- man/scale_viridis.Rd | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 165 insertions(+), 6 deletions(-) create mode 100644 R/scale-viridis.r create mode 100644 man/scale_viridis.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 0f330b449..1142c44e2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -43,7 +43,8 @@ Suggests: rpart, rmarkdown, sf (>= 0.3-4), - svglite (>= 1.2.0.9001) + svglite (>= 1.2.0.9001), + viridisLite Remotes: hadley/scales, hadley/svglite @@ -181,6 +182,7 @@ Collate: 'scale-shape.r' 'scale-size.r' 'scale-type.R' + 'scale-viridis.r' 'scales-.r' 'sf.R' 'stat-bin.r' diff --git a/NAMESPACE b/NAMESPACE index e285d7114..52ec71d38 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -384,6 +384,8 @@ export(scale_color_grey) export(scale_color_hue) export(scale_color_identity) export(scale_color_manual) +export(scale_color_viridis_continuous) +export(scale_color_viridis_discrete) export(scale_colour_brewer) export(scale_colour_continuous) export(scale_colour_date) @@ -397,6 +399,8 @@ export(scale_colour_grey) export(scale_colour_hue) export(scale_colour_identity) export(scale_colour_manual) +export(scale_colour_viridis_continuous) +export(scale_colour_viridis_discrete) export(scale_fill_brewer) export(scale_fill_continuous) export(scale_fill_date) @@ -410,6 +414,8 @@ export(scale_fill_grey) export(scale_fill_hue) export(scale_fill_identity) export(scale_fill_manual) +export(scale_fill_viridis_continuous) +export(scale_fill_viridis_discrete) export(scale_linetype) export(scale_linetype_continuous) export(scale_linetype_discrete) @@ -499,6 +505,7 @@ export(unit) export(update_geom_defaults) export(update_labels) export(update_stat_defaults) +export(viridis_pal) export(waiver) export(wrap_dims) export(xlab) diff --git a/R/scale-viridis.r b/R/scale-viridis.r new file mode 100644 index 000000000..06d58aaa0 --- /dev/null +++ b/R/scale-viridis.r @@ -0,0 +1,67 @@ +#' Viridis colour scales from viridisLite +#' +#' @description +#' The `viridis` scales provide color maps that are perceptually uniform in both +#' color and black-and-white. They are also designed to be perceived by viewers +#' with common forms of color blindness. See also +#' \url{https://bids.github.io/colormap/}. +#' +#' @inheritParams viridisLite::viridis +#' @inheritParams scales::gradient_n_pal +#' @param ... Other arguments passed on to [discrete_scale()] or +#' [continuous_scale()] to control name, limits, breaks, labels and so forth. +#' @family colour scales +#' @rdname scale_viridis +#' @export +scale_colour_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D") { + discrete_scale("colour", "viridis_discrete", + viridis_pal(alpha, begin, end, direction, option), + ...) +} + +#' @export +#' @rdname scale_viridis +scale_fill_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D") { + discrete_scale("fill", "viridis_discrete", + viridis_pal(alpha, begin, end, direction, option), + ...) +} + +#' @export +#' @rdname scale_viridis +scale_colour_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D", + values = NULL, space = "Lab", + na.value = "grey50", + guide = "colourbar") { + continuous_scale("colour", "viridis_continuous", + gradient_n_pal(viridis_pal(alpha, begin, end, direction, + option)(6), values, space), + na.value = na.value, + guide = guide, ...) +} + +#' @export +#' @rdname scale_viridis +scale_fill_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D", + values = NULL, space = "Lab", + na.value = "grey50", + guide = "colourbar") { + continuous_scale("fill", "viridis_continuous", + gradient_n_pal(viridis_pal(alpha, begin, end, direction, + option)(6), values, space), + na.value = na.value, + guide = guide, ...) +} + +#' @inheritParams viridisLite::viridis +#' @export +#' @rdname scale_viridis +viridis_pal <- function(alpha = 1, begin = 0, end = 1, direction = 1, option= "D") { + function(n) { + viridisLite::viridis(n, alpha, begin, end, direction, option) + } +} diff --git a/R/zxx.r b/R/zxx.r index 42ac96eb3..02c50171a 100644 --- a/R/zxx.r +++ b/R/zxx.r @@ -154,3 +154,13 @@ scale_color_identity <- scale_colour_identity #' @rdname scale_manual #' @usage NULL scale_color_manual <- scale_colour_manual + +#' @export +#' @rdname scale_viridis +#' @usage NULL +scale_color_viridis_discrete <- scale_colour_viridis_discrete + +#' @export +#' @rdname scale_viridis +#' @usage NULL +scale_color_viridis_continuous <- scale_colour_viridis_continuous diff --git a/man/scale_alpha.Rd b/man/scale_alpha.Rd index 374e625a2..7324a97b9 100644 --- a/man/scale_alpha.Rd +++ b/man/scale_alpha.Rd @@ -39,5 +39,6 @@ p + scale_alpha(range = c(0.4, 0.8)) Other colour scales: \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_gradient}}, \code{\link{scale_colour_grey}}, - \code{\link{scale_colour_hue}} + \code{\link{scale_colour_hue}}, + \code{\link{scale_colour_viridis_discrete}} } diff --git a/man/scale_brewer.Rd b/man/scale_brewer.Rd index d959311a2..cc51bfd67 100644 --- a/man/scale_brewer.Rd +++ b/man/scale_brewer.Rd @@ -110,5 +110,6 @@ v + scale_fill_distiller(palette = "Spectral") Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_gradient}}, \code{\link{scale_colour_grey}}, - \code{\link{scale_colour_hue}} + \code{\link{scale_colour_hue}}, + \code{\link{scale_colour_viridis_discrete}} } diff --git a/man/scale_gradient.Rd b/man/scale_gradient.Rd index e164d9e8b..612624349 100644 --- a/man/scale_gradient.Rd +++ b/man/scale_gradient.Rd @@ -178,5 +178,6 @@ palette Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_grey}}, - \code{\link{scale_colour_hue}} + \code{\link{scale_colour_hue}}, + \code{\link{scale_colour_viridis_discrete}} } diff --git a/man/scale_grey.Rd b/man/scale_grey.Rd index 0617aa9b3..9d775ebe5 100644 --- a/man/scale_grey.Rd +++ b/man/scale_grey.Rd @@ -93,5 +93,6 @@ ggplot(mtcars, aes(mpg, wt)) + Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_gradient}}, - \code{\link{scale_colour_hue}} + \code{\link{scale_colour_hue}}, + \code{\link{scale_colour_viridis_discrete}} } diff --git a/man/scale_hue.Rd b/man/scale_hue.Rd index 6d4f828f0..c77356228 100644 --- a/man/scale_hue.Rd +++ b/man/scale_hue.Rd @@ -127,5 +127,6 @@ ggplot(mtcars, aes(mpg, wt)) + Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_gradient}}, - \code{\link{scale_colour_grey}} + \code{\link{scale_colour_grey}}, + \code{\link{scale_colour_viridis_discrete}} } diff --git a/man/scale_viridis.Rd b/man/scale_viridis.Rd new file mode 100644 index 000000000..8f4ee9438 --- /dev/null +++ b/man/scale_viridis.Rd @@ -0,0 +1,68 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/scale-viridis.r, R/zxx.r +\name{scale_colour_viridis_discrete} +\alias{scale_colour_viridis_discrete} +\alias{scale_fill_viridis_discrete} +\alias{scale_colour_viridis_continuous} +\alias{scale_fill_viridis_continuous} +\alias{viridis_pal} +\alias{scale_color_viridis_discrete} +\alias{scale_color_viridis_continuous} +\title{Viridis colour scales from viridisLite} +\usage{ +scale_colour_viridis_discrete(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D") + +scale_fill_viridis_discrete(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D") + +scale_colour_viridis_continuous(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D", values = NULL, space = "Lab", + na.value = "grey50", guide = "colourbar") + +scale_fill_viridis_continuous(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D", values = NULL, space = "Lab", + na.value = "grey50", guide = "colourbar") + +viridis_pal(alpha = 1, begin = 0, end = 1, direction = 1, + option = "D") +} +\arguments{ +\item{...}{Other arguments passed on to \code{\link[=discrete_scale]{discrete_scale()}} or +\code{\link[=continuous_scale]{continuous_scale()}} to control name, limits, breaks, labels and so forth.} + +\item{alpha}{The alpha transparency, a number in [0,1], see argument alpha in +\code{\link[grDevices]{hsv}}.} + +\item{begin}{The (corrected) hue in [0,1] at which the viridis colormap begins.} + +\item{end}{The (corrected) hue in [0,1] at which the viridis colormap ends.} + +\item{direction}{Sets the order of colors in the scale. If 1, the default, colors +are ordered from darkest to lightest. If -1, the order of colors is reversed.} + +\item{option}{A character string indicating the colormap option to use. Four +options are available: "magma" (or "A"), "inferno" (or "B"), "plasma" (or "C"), +and "viridis" (or "D", the default option).} + +\item{values}{if colours should not be evenly positioned along the gradient +this vector gives the position (between 0 and 1) for each colour in the +\code{colours} vector. See \code{\link{rescale}} for a convience function +to map an arbitrary range to between 0 and 1.} + +\item{space}{colour space in which to calculate gradient. Must be "Lab" - +other values are deprecated.} +} +\description{ +The \code{viridis} scales provide color maps that are perceptually uniform in both +color and black-and-white. They are also designed to be perceived by viewers +with common forms of color blindness. See also +\url{https://bids.github.io/colormap/}. +} +\seealso{ +Other colour scales: \code{\link{scale_alpha}}, + \code{\link{scale_colour_brewer}}, + \code{\link{scale_colour_gradient}}, + \code{\link{scale_colour_grey}}, + \code{\link{scale_colour_hue}} +} From e7174ff049482a5b3b70a4ee501e3dc4ac90e16a Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Wed, 21 Jun 2017 16:16:13 -0700 Subject: [PATCH 02/15] Add to NEWS.md --- NEWS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS.md b/NEWS.md index f1c0b5241..9e6677c32 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # ggplot2 2.2.1.9000 +* Add built-in support for `viridis` and related color maps (@karawoo). + * Updated datetime scales for `alpha`, `size`, `colour`, and `fill` can take `date_breaks` and `date_labels` arguments (@karawoo, #1526). From 92d92d758947fc6040b9fcf1cc60070a2f45d7ce Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Thu, 22 Jun 2017 10:17:59 -0700 Subject: [PATCH 03/15] Add documentation for continuous_scale parameters na.value and guide --- R/scale-viridis.r | 1 + man/scale_viridis.Rd | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index 06d58aaa0..76a638cd5 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -8,6 +8,7 @@ #' #' @inheritParams viridisLite::viridis #' @inheritParams scales::gradient_n_pal +#' @inheritParams continuous_scale #' @param ... Other arguments passed on to [discrete_scale()] or #' [continuous_scale()] to control name, limits, breaks, labels and so forth. #' @family colour scales diff --git a/man/scale_viridis.Rd b/man/scale_viridis.Rd index 8f4ee9438..c5467d64c 100644 --- a/man/scale_viridis.Rd +++ b/man/scale_viridis.Rd @@ -52,6 +52,11 @@ to map an arbitrary range to between 0 and 1.} \item{space}{colour space in which to calculate gradient. Must be "Lab" - other values are deprecated.} + +\item{na.value}{Missing values will be replaced with this value.} + +\item{guide}{A function used to create a guide or its name. See +\code{\link[=guides]{guides()}} for more info.} } \description{ The \code{viridis} scales provide color maps that are perceptually uniform in both From d868d8ec841426688a32eb31040df1475c419cbc Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Thu, 22 Jun 2017 11:38:43 -0700 Subject: [PATCH 04/15] Remove @description --- R/scale-viridis.r | 1 - 1 file changed, 1 deletion(-) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index 76a638cd5..bff1b1787 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -1,6 +1,5 @@ #' Viridis colour scales from viridisLite #' -#' @description #' The `viridis` scales provide color maps that are perceptually uniform in both #' color and black-and-white. They are also designed to be perceived by viewers #' with common forms of color blindness. See also From ff592313a224d5e53934b5f3b100800c9c363021 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Thu, 22 Jun 2017 11:42:56 -0700 Subject: [PATCH 05/15] tidyverse style for long calls to discrete_scale/continuous_scale oops --- R/scale-viridis.r | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index bff1b1787..9e2d7c909 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -15,18 +15,24 @@ #' @export scale_colour_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, direction = 1, option = "D") { - discrete_scale("colour", "viridis_discrete", - viridis_pal(alpha, begin, end, direction, option), - ...) + discrete_scale( + "colour", + "viridis_discrete", + viridis_pal(alpha, begin, end, direction, option), + ... + ) } #' @export #' @rdname scale_viridis scale_fill_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, direction = 1, option = "D") { - discrete_scale("fill", "viridis_discrete", - viridis_pal(alpha, begin, end, direction, option), - ...) + discrete_scale( + "fill", + "viridis_discrete", + viridis_pal(alpha, begin, end, direction, option), + ... + ) } #' @export @@ -36,11 +42,17 @@ scale_colour_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") { - continuous_scale("colour", "viridis_continuous", - gradient_n_pal(viridis_pal(alpha, begin, end, direction, - option)(6), values, space), - na.value = na.value, - guide = guide, ...) + continuous_scale( + "colour", + "viridis_continuous", + gradient_n_pal( + viridis_pal(alpha, begin, end, direction, option)(6), + values, + space), + na.value = na.value, + guide = guide, + ... + ) } #' @export @@ -50,11 +62,17 @@ scale_fill_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") { - continuous_scale("fill", "viridis_continuous", - gradient_n_pal(viridis_pal(alpha, begin, end, direction, - option)(6), values, space), - na.value = na.value, - guide = guide, ...) + continuous_scale( + "fill", + "viridis_continuous", + gradient_n_pal( + viridis_pal(alpha, begin, end, direction, option)(6), + values, + space), + na.value = na.value, + guide = guide, + ... + ) } #' @inheritParams viridisLite::viridis From 6f55d9fdd3ecf0a3c38cc4ff71cc712ad2588f80 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Thu, 22 Jun 2017 11:43:55 -0700 Subject: [PATCH 06/15] Use markdown url syntax --- R/scale-viridis.r | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index 9e2d7c909..bfffcc40a 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -3,7 +3,7 @@ #' The `viridis` scales provide color maps that are perceptually uniform in both #' color and black-and-white. They are also designed to be perceived by viewers #' with common forms of color blindness. See also -#' \url{https://bids.github.io/colormap/}. +#' . #' #' @inheritParams viridisLite::viridis #' @inheritParams scales::gradient_n_pal From 101397b6471f1d8b13532884a531594bee626eaf Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Fri, 23 Jun 2017 11:11:48 -0700 Subject: [PATCH 07/15] viridis_pal is now in the scales package --- NAMESPACE | 1 - R/scale-viridis.r | 9 --------- man/scale_viridis.Rd | 4 ---- 3 files changed, 14 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 52ec71d38..0613f9adc 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -505,7 +505,6 @@ export(unit) export(update_geom_defaults) export(update_labels) export(update_stat_defaults) -export(viridis_pal) export(waiver) export(wrap_dims) export(xlab) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index bfffcc40a..7b4b9f6aa 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -74,12 +74,3 @@ scale_fill_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, ... ) } - -#' @inheritParams viridisLite::viridis -#' @export -#' @rdname scale_viridis -viridis_pal <- function(alpha = 1, begin = 0, end = 1, direction = 1, option= "D") { - function(n) { - viridisLite::viridis(n, alpha, begin, end, direction, option) - } -} diff --git a/man/scale_viridis.Rd b/man/scale_viridis.Rd index c5467d64c..863f6de28 100644 --- a/man/scale_viridis.Rd +++ b/man/scale_viridis.Rd @@ -5,7 +5,6 @@ \alias{scale_fill_viridis_discrete} \alias{scale_colour_viridis_continuous} \alias{scale_fill_viridis_continuous} -\alias{viridis_pal} \alias{scale_color_viridis_discrete} \alias{scale_color_viridis_continuous} \title{Viridis colour scales from viridisLite} @@ -23,9 +22,6 @@ scale_colour_viridis_continuous(..., alpha = 1, begin = 0, end = 1, scale_fill_viridis_continuous(..., alpha = 1, begin = 0, end = 1, direction = 1, option = "D", values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") - -viridis_pal(alpha = 1, begin = 0, end = 1, direction = 1, - option = "D") } \arguments{ \item{...}{Other arguments passed on to \code{\link[=discrete_scale]{discrete_scale()}} or From 8bd3b7c4e7534a1c6371fe5307325008a72d7923 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Fri, 23 Jun 2017 11:14:44 -0700 Subject: [PATCH 08/15] Shorten names to viridis_c and viridis_d --- NAMESPACE | 12 ++++++------ R/scale-viridis.r | 34 ++++++++++++++++------------------ R/zxx.r | 4 ++-- man/scale_alpha.Rd | 2 +- man/scale_brewer.Rd | 2 +- man/scale_gradient.Rd | 2 +- man/scale_grey.Rd | 2 +- man/scale_hue.Rd | 2 +- man/scale_viridis.Rd | 28 ++++++++++++++-------------- 9 files changed, 43 insertions(+), 45 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 0613f9adc..0e6e8cf27 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -384,8 +384,8 @@ export(scale_color_grey) export(scale_color_hue) export(scale_color_identity) export(scale_color_manual) -export(scale_color_viridis_continuous) -export(scale_color_viridis_discrete) +export(scale_color_viridis_c) +export(scale_color_viridis_d) export(scale_colour_brewer) export(scale_colour_continuous) export(scale_colour_date) @@ -399,8 +399,8 @@ export(scale_colour_grey) export(scale_colour_hue) export(scale_colour_identity) export(scale_colour_manual) -export(scale_colour_viridis_continuous) -export(scale_colour_viridis_discrete) +export(scale_colour_viridis_c) +export(scale_colour_viridis_d) export(scale_fill_brewer) export(scale_fill_continuous) export(scale_fill_date) @@ -414,8 +414,8 @@ export(scale_fill_grey) export(scale_fill_hue) export(scale_fill_identity) export(scale_fill_manual) -export(scale_fill_viridis_continuous) -export(scale_fill_viridis_discrete) +export(scale_fill_viridis_c) +export(scale_fill_viridis_d) export(scale_linetype) export(scale_linetype_continuous) export(scale_linetype_discrete) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index 7b4b9f6aa..087ce6391 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -13,11 +13,11 @@ #' @family colour scales #' @rdname scale_viridis #' @export -scale_colour_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, - direction = 1, option = "D") { +scale_colour_viridis_d <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D") { discrete_scale( "colour", - "viridis_discrete", + "viridis_d", viridis_pal(alpha, begin, end, direction, option), ... ) @@ -25,11 +25,11 @@ scale_colour_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, #' @export #' @rdname scale_viridis -scale_fill_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, - direction = 1, option = "D") { +scale_fill_viridis_d <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D") { discrete_scale( "fill", - "viridis_discrete", + "viridis_d", viridis_pal(alpha, begin, end, direction, option), ... ) @@ -37,14 +37,13 @@ scale_fill_viridis_discrete <- function(..., alpha = 1, begin = 0, end = 1, #' @export #' @rdname scale_viridis -scale_colour_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, - direction = 1, option = "D", - values = NULL, space = "Lab", - na.value = "grey50", - guide = "colourbar") { +scale_colour_viridis_c <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D", values = NULL, + space = "Lab", na.value = "grey50", + guide = "colourbar") { continuous_scale( "colour", - "viridis_continuous", + "viridis_c", gradient_n_pal( viridis_pal(alpha, begin, end, direction, option)(6), values, @@ -57,14 +56,13 @@ scale_colour_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, #' @export #' @rdname scale_viridis -scale_fill_viridis_continuous <- function(..., alpha = 1, begin = 0, end = 1, - direction = 1, option = "D", - values = NULL, space = "Lab", - na.value = "grey50", - guide = "colourbar") { +scale_fill_viridis_c <- function(..., alpha = 1, begin = 0, end = 1, + direction = 1, option = "D", values = NULL, + space = "Lab", na.value = "grey50", + guide = "colourbar") { continuous_scale( "fill", - "viridis_continuous", + "viridis_c", gradient_n_pal( viridis_pal(alpha, begin, end, direction, option)(6), values, diff --git a/R/zxx.r b/R/zxx.r index 02c50171a..4cf44b9ca 100644 --- a/R/zxx.r +++ b/R/zxx.r @@ -158,9 +158,9 @@ scale_color_manual <- scale_colour_manual #' @export #' @rdname scale_viridis #' @usage NULL -scale_color_viridis_discrete <- scale_colour_viridis_discrete +scale_color_viridis_d <- scale_colour_viridis_d #' @export #' @rdname scale_viridis #' @usage NULL -scale_color_viridis_continuous <- scale_colour_viridis_continuous +scale_color_viridis_c <- scale_colour_viridis_c diff --git a/man/scale_alpha.Rd b/man/scale_alpha.Rd index 7324a97b9..ae94242ce 100644 --- a/man/scale_alpha.Rd +++ b/man/scale_alpha.Rd @@ -40,5 +40,5 @@ Other colour scales: \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_gradient}}, \code{\link{scale_colour_grey}}, \code{\link{scale_colour_hue}}, - \code{\link{scale_colour_viridis_discrete}} + \code{\link{scale_colour_viridis_d}} } diff --git a/man/scale_brewer.Rd b/man/scale_brewer.Rd index cc51bfd67..eca7aca15 100644 --- a/man/scale_brewer.Rd +++ b/man/scale_brewer.Rd @@ -111,5 +111,5 @@ Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_gradient}}, \code{\link{scale_colour_grey}}, \code{\link{scale_colour_hue}}, - \code{\link{scale_colour_viridis_discrete}} + \code{\link{scale_colour_viridis_d}} } diff --git a/man/scale_gradient.Rd b/man/scale_gradient.Rd index 612624349..d098b2caf 100644 --- a/man/scale_gradient.Rd +++ b/man/scale_gradient.Rd @@ -179,5 +179,5 @@ Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_grey}}, \code{\link{scale_colour_hue}}, - \code{\link{scale_colour_viridis_discrete}} + \code{\link{scale_colour_viridis_d}} } diff --git a/man/scale_grey.Rd b/man/scale_grey.Rd index 9d775ebe5..cd9ff3176 100644 --- a/man/scale_grey.Rd +++ b/man/scale_grey.Rd @@ -94,5 +94,5 @@ Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_gradient}}, \code{\link{scale_colour_hue}}, - \code{\link{scale_colour_viridis_discrete}} + \code{\link{scale_colour_viridis_d}} } diff --git a/man/scale_hue.Rd b/man/scale_hue.Rd index c77356228..d282aeaa4 100644 --- a/man/scale_hue.Rd +++ b/man/scale_hue.Rd @@ -128,5 +128,5 @@ Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_brewer}}, \code{\link{scale_colour_gradient}}, \code{\link{scale_colour_grey}}, - \code{\link{scale_colour_viridis_discrete}} + \code{\link{scale_colour_viridis_d}} } diff --git a/man/scale_viridis.Rd b/man/scale_viridis.Rd index 863f6de28..9e61e72f5 100644 --- a/man/scale_viridis.Rd +++ b/man/scale_viridis.Rd @@ -1,27 +1,27 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/scale-viridis.r, R/zxx.r -\name{scale_colour_viridis_discrete} -\alias{scale_colour_viridis_discrete} -\alias{scale_fill_viridis_discrete} -\alias{scale_colour_viridis_continuous} -\alias{scale_fill_viridis_continuous} -\alias{scale_color_viridis_discrete} -\alias{scale_color_viridis_continuous} +\name{scale_colour_viridis_d} +\alias{scale_colour_viridis_d} +\alias{scale_fill_viridis_d} +\alias{scale_colour_viridis_c} +\alias{scale_fill_viridis_c} +\alias{scale_color_viridis_d} +\alias{scale_color_viridis_c} \title{Viridis colour scales from viridisLite} \usage{ -scale_colour_viridis_discrete(..., alpha = 1, begin = 0, end = 1, +scale_colour_viridis_d(..., alpha = 1, begin = 0, end = 1, direction = 1, option = "D") -scale_fill_viridis_discrete(..., alpha = 1, begin = 0, end = 1, - direction = 1, option = "D") +scale_fill_viridis_d(..., alpha = 1, begin = 0, end = 1, direction = 1, + option = "D") -scale_colour_viridis_continuous(..., alpha = 1, begin = 0, end = 1, +scale_colour_viridis_c(..., alpha = 1, begin = 0, end = 1, direction = 1, option = "D", values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar") -scale_fill_viridis_continuous(..., alpha = 1, begin = 0, end = 1, - direction = 1, option = "D", values = NULL, space = "Lab", - na.value = "grey50", guide = "colourbar") +scale_fill_viridis_c(..., alpha = 1, begin = 0, end = 1, direction = 1, + option = "D", values = NULL, space = "Lab", na.value = "grey50", + guide = "colourbar") } \arguments{ \item{...}{Other arguments passed on to \code{\link[=discrete_scale]{discrete_scale()}} or From 69200762b3f9b526fea1927a9df9db85bac25d74 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Fri, 23 Jun 2017 15:40:15 -0700 Subject: [PATCH 09/15] Add viridis examples based on the brewer examples --- R/scale-viridis.r | 29 +++++++++++++++++++++++++++++ man/scale_viridis.Rd | 30 ++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index 087ce6391..7580e105f 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -13,6 +13,35 @@ #' @family colour scales #' @rdname scale_viridis #' @export +#' @examples +#' dsamp <- diamonds[sample(nrow(diamonds), 1000), ] +#' (d <- ggplot(dsamp, aes(carat, price)) + +#' geom_point(aes(colour = clarity))) +#' d + scale_colour_viridis_d() +#' +#' # Change scale label +#' d + scale_colour_viridis_d("Diamond\nclarity") +#' +#' # Select palette to use, see ?scales::viridis_pal for more details +#' d + scale_colour_viridis_d(option = "plasma") +#' d + scale_colour_viridis_d(option = "inferno") +#' +#' \donttest{ +#' # scale_fill_viridis_d works just the same as +#' # scale_colour_viridis_d but for fill colours +#' p <- ggplot(diamonds, aes(x = price, fill = cut)) + +#' geom_histogram(position = "dodge", binwidth = 1000) +#' p + scale_fill_viridis_d() +#' # the order of colour can be reversed +#' p + scale_fill_viridis_d(direction = -1) +#' } +#' +#' # Use viridis_c with continous data +#' v <- ggplot(faithfuld) + +#' geom_tile(aes(waiting, eruptions, fill = density)) +#' v +#' v + scale_fill_viridis_c() +#' v + scale_fill_viridis_c(option = "plasma") scale_colour_viridis_d <- function(..., alpha = 1, begin = 0, end = 1, direction = 1, option = "D") { discrete_scale( diff --git a/man/scale_viridis.Rd b/man/scale_viridis.Rd index 9e61e72f5..490715496 100644 --- a/man/scale_viridis.Rd +++ b/man/scale_viridis.Rd @@ -60,6 +60,36 @@ color and black-and-white. They are also designed to be perceived by viewers with common forms of color blindness. See also \url{https://bids.github.io/colormap/}. } +\examples{ +dsamp <- diamonds[sample(nrow(diamonds), 1000), ] +(d <- ggplot(dsamp, aes(carat, price)) + + geom_point(aes(colour = clarity))) +d + scale_colour_viridis_d() + +# Change scale label +d + scale_colour_viridis_d("Diamond\\nclarity") + +# Select palette to use, see ?scales::viridis_pal for more details +d + scale_colour_viridis_d(option = "plasma") +d + scale_colour_viridis_d(option = "inferno") + +\donttest{ +# scale_fill_viridis_d works just the same as +# scale_colour_viridis_d but for fill colours +p <- ggplot(diamonds, aes(x = price, fill = cut)) + + geom_histogram(position = "dodge", binwidth = 1000) +p + scale_fill_viridis_d() +# the order of colour can be reversed +p + scale_fill_viridis_d(direction = -1) +} + +# Use viridis_c with continous data +v <- ggplot(faithfuld) + + geom_tile(aes(waiting, eruptions, fill = density)) +v +v + scale_fill_viridis_c() +v + scale_fill_viridis_c(option = "plasma") +} \seealso{ Other colour scales: \code{\link{scale_alpha}}, \code{\link{scale_colour_brewer}}, From 769c515cb0ee5372efd342ad5474509a9b0b78ea Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Mon, 26 Jun 2017 16:50:19 -0700 Subject: [PATCH 10/15] Add viridis tests --- tests/testthat/test-viridis.R | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/testthat/test-viridis.R diff --git a/tests/testthat/test-viridis.R b/tests/testthat/test-viridis.R new file mode 100644 index 000000000..0aa38af36 --- /dev/null +++ b/tests/testthat/test-viridis.R @@ -0,0 +1,23 @@ +context("Viridis") + +df <- data.frame(x = 1, y = 1, z = "a") + +test_that("Viridis color scale gets used", { + p1 <- ggplot(df, aes(x, y, colour = z)) + + geom_point() + + scale_colour_viridis_d() + p2 <- ggplot(df, aes(x, y, colour = x)) + + geom_point() + + scale_colour_viridis_c() + + expect_equal(ggplot_build(p1)$plot$scales$scales[[1]]$scale_name, "viridis_d") + expect_equal(ggplot_build(p2)$plot$scales$scales[[1]]$scale_name, "viridis_c") +}) + +test_that("Viridis scale changes point color", { + p1 <- ggplot(df, aes(x, y, colour = z)) + + geom_point() + p2 <- p1 + scale_colour_viridis_d() + + expect_false(layer_data(p1)$colour == layer_data(p2)$colour) +}) From 94582b8ff107424c40dd45f68cf6df51861a9e3b Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Tue, 27 Jun 2017 09:31:51 -0700 Subject: [PATCH 11/15] Update viridis tests --- tests/testthat/test-viridis.R | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/tests/testthat/test-viridis.R b/tests/testthat/test-viridis.R index 0aa38af36..d1531c1e4 100644 --- a/tests/testthat/test-viridis.R +++ b/tests/testthat/test-viridis.R @@ -2,22 +2,11 @@ context("Viridis") df <- data.frame(x = 1, y = 1, z = "a") -test_that("Viridis color scale gets used", { - p1 <- ggplot(df, aes(x, y, colour = z)) + - geom_point() + - scale_colour_viridis_d() - p2 <- ggplot(df, aes(x, y, colour = x)) + - geom_point() + - scale_colour_viridis_c() - - expect_equal(ggplot_build(p1)$plot$scales$scales[[1]]$scale_name, "viridis_d") - expect_equal(ggplot_build(p2)$plot$scales$scales[[1]]$scale_name, "viridis_c") -}) - test_that("Viridis scale changes point color", { p1 <- ggplot(df, aes(x, y, colour = z)) + geom_point() p2 <- p1 + scale_colour_viridis_d() - expect_false(layer_data(p1)$colour == layer_data(p2)$colour) + expect_false(layer_data(p1)$colour == layer_data(p2)$colour) + expect_equal(layer_data(p2)$colour, "#440154FF") }) From eaf3ddf9e1076884d15f37cbcae427dff436f504 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Fri, 30 Jun 2017 09:59:12 -0700 Subject: [PATCH 12/15] Use global options to control default continuous colour/fill scales --- DESCRIPTION | 1 + R/scale-colour.r | 46 ++++++++++++++++++++++++++++++++++++++++++ R/zxx.r | 11 ---------- R/zzz.r | 12 +++++++++++ man/scale_colour_continuous.Rd | 39 +++++++++++++++++++++++++++++++++++ man/scale_gradient.Rd | 2 -- 6 files changed, 98 insertions(+), 13 deletions(-) create mode 100644 R/scale-colour.r create mode 100644 man/scale_colour_continuous.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 1142c44e2..54ef97ef6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -170,6 +170,7 @@ Collate: 'scale-.r' 'scale-alpha.r' 'scale-brewer.r' + 'scale-colour.r' 'scale-continuous.r' 'scale-date.r' 'scale-discrete-.r' diff --git a/R/scale-colour.r b/R/scale-colour.r new file mode 100644 index 000000000..a0978d295 --- /dev/null +++ b/R/scale-colour.r @@ -0,0 +1,46 @@ +#' Continuous colour scales +#' +#' Colour scales for continuous data default to the values of the +#' `ggplot2.continuous.colour` and `ggplot2.continuous.fill` options. If these +#' options are not present, ggplot2 will set them to `"gradient"`. See +#' [options()] for more information. +#' +#' @param ... Additional parameters passed on to the scale type +#' @param type One of "gradient" (the default) or "viridis" indicating the +#' colour scale to use +#' @seealso [scale_colour_gradient()], [scale_colour_viridis_c()], +#' [scale_fill_gradient()], and [scale_fill_viridis_c()] +#' @export +#' @rdname scale_colour_continuous +#' @examples +#' v <- ggplot(faithfuld, aes(waiting, eruptions, fill = density)) + +#' geom_tile() +#' v +#' +#' v + scale_fill_continuous(type = "gradient") +#' v + scale_fill_continuous(type = "viridis") +#' +#' # The above are equivalent to +#' v + scale_fill_gradient() +#' v + scale_fill_viridis_c() +scale_colour_continuous <- function(..., + type = getOption("ggplot2.continuous.colour")) { + switch( + type, + gradient = scale_colour_gradient(...), + viridis = scale_colour_viridis_c(...), + stop("Unknown scale type", call. = FALSE) + ) +} + +#' @rdname scale_colour_continuous +#' @export +scale_fill_continuous <- function(..., + type = getOption("ggplot2.continuous.fill")) { + switch( + type, + gradient = scale_fill_gradient(...), + viridis = scale_fill_viridis_c(...), + stop("Unknown scale type", call. = FALSE) + ) +} diff --git a/R/zxx.r b/R/zxx.r index 4cf44b9ca..1728dbd0d 100644 --- a/R/zxx.r +++ b/R/zxx.r @@ -8,11 +8,6 @@ scale_colour_discrete <- scale_colour_hue #' @export #' @rdname scale_gradient #' @usage NULL -scale_colour_continuous <- scale_colour_gradient - -#' @export -#' @rdname scale_gradient -#' @usage NULL scale_colour_datetime <- function(..., low = "#132B43", high = "#56B1F7", @@ -56,11 +51,6 @@ scale_fill_discrete <- scale_fill_hue #' @export #' @rdname scale_gradient #' @usage NULL -scale_fill_continuous <- scale_fill_gradient - -#' @export -#' @rdname scale_gradient -#' @usage NULL scale_fill_datetime <- function(..., low = "#132B43", high = "#56B1F7", @@ -75,7 +65,6 @@ scale_fill_datetime <- function(..., guide = guide, ... ) - } #' @export diff --git a/R/zzz.r b/R/zzz.r index 98925da45..b6751684f 100644 --- a/R/zzz.r +++ b/R/zzz.r @@ -19,3 +19,15 @@ release_questions <- function() { "Have you built the book?" ) } + +.onLoad <- function(libname, pkgname) { + op <- options() + op.ggplot2 <- list( + ggplot2.continuous.colour = "gradient", + ggplot2.continuous.fill = "gradient" + ) + toset <- !(names(op.ggplot2) %in% names(op)) + if(any(toset)) options(op.ggplot2[toset]) + + invisible() +} diff --git a/man/scale_colour_continuous.Rd b/man/scale_colour_continuous.Rd new file mode 100644 index 000000000..ec323b68a --- /dev/null +++ b/man/scale_colour_continuous.Rd @@ -0,0 +1,39 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/scale-colour.r +\name{scale_colour_continuous} +\alias{scale_colour_continuous} +\alias{scale_fill_continuous} +\title{Continuous colour scales} +\usage{ +scale_colour_continuous(..., type = getOption("ggplot2.continuous.colour")) + +scale_fill_continuous(..., type = getOption("ggplot2.continuous.fill")) +} +\arguments{ +\item{...}{Additional parameters passed on to the scale type} + +\item{type}{One of "gradient" (the default) or "viridis" indicating the +colour scale to use} +} +\description{ +Colour scales for continuous data default to the values of the +\code{ggplot2.continuous.colour} and \code{ggplot2.continuous.fill} options. If these +options are not present, ggplot2 will set them to \code{"gradient"}. See +\code{\link[=options]{options()}} for more information. +} +\examples{ +v <- ggplot(faithfuld, aes(waiting, eruptions, fill = density)) + +geom_tile() +v + +v + scale_fill_continuous(type = "gradient") +v + scale_fill_continuous(type = "viridis") + +# The above are equivalent to +v + scale_fill_gradient() +v + scale_fill_viridis_c() +} +\seealso{ +\code{\link[=scale_colour_gradient]{scale_colour_gradient()}}, \code{\link[=scale_colour_viridis_c]{scale_colour_viridis_c()}}, +\code{\link[=scale_fill_gradient]{scale_fill_gradient()}}, and \code{\link[=scale_fill_viridis_c]{scale_fill_viridis_c()}} +} diff --git a/man/scale_gradient.Rd b/man/scale_gradient.Rd index d098b2caf..a49f05473 100644 --- a/man/scale_gradient.Rd +++ b/man/scale_gradient.Rd @@ -7,10 +7,8 @@ \alias{scale_fill_gradient2} \alias{scale_colour_gradientn} \alias{scale_fill_gradientn} -\alias{scale_colour_continuous} \alias{scale_colour_datetime} \alias{scale_colour_date} -\alias{scale_fill_continuous} \alias{scale_fill_datetime} \alias{scale_fill_date} \alias{scale_color_continuous} From d76ac852f79a39305562ae83721789e0f5971120 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Wed, 5 Jul 2017 10:25:43 -0700 Subject: [PATCH 13/15] Don't set options in .onLoad() --- R/scale-colour.r | 8 ++++---- R/zzz.r | 12 ------------ man/scale_colour_continuous.Rd | 10 ++++++---- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/R/scale-colour.r b/R/scale-colour.r index a0978d295..d3fd46033 100644 --- a/R/scale-colour.r +++ b/R/scale-colour.r @@ -2,8 +2,8 @@ #' #' Colour scales for continuous data default to the values of the #' `ggplot2.continuous.colour` and `ggplot2.continuous.fill` options. If these -#' options are not present, ggplot2 will set them to `"gradient"`. See -#' [options()] for more information. +#' options are not present, `"gradient"` will be used. See [options()] for more +#' information. #' #' @param ... Additional parameters passed on to the scale type #' @param type One of "gradient" (the default) or "viridis" indicating the @@ -24,7 +24,7 @@ #' v + scale_fill_gradient() #' v + scale_fill_viridis_c() scale_colour_continuous <- function(..., - type = getOption("ggplot2.continuous.colour")) { + type = getOption("ggplot2.continuous.colour", default = "gradient")) { switch( type, gradient = scale_colour_gradient(...), @@ -36,7 +36,7 @@ scale_colour_continuous <- function(..., #' @rdname scale_colour_continuous #' @export scale_fill_continuous <- function(..., - type = getOption("ggplot2.continuous.fill")) { + type = getOption("ggplot2.continuous.fill", default = "gradient")) { switch( type, gradient = scale_fill_gradient(...), diff --git a/R/zzz.r b/R/zzz.r index b6751684f..98925da45 100644 --- a/R/zzz.r +++ b/R/zzz.r @@ -19,15 +19,3 @@ release_questions <- function() { "Have you built the book?" ) } - -.onLoad <- function(libname, pkgname) { - op <- options() - op.ggplot2 <- list( - ggplot2.continuous.colour = "gradient", - ggplot2.continuous.fill = "gradient" - ) - toset <- !(names(op.ggplot2) %in% names(op)) - if(any(toset)) options(op.ggplot2[toset]) - - invisible() -} diff --git a/man/scale_colour_continuous.Rd b/man/scale_colour_continuous.Rd index ec323b68a..d7590ec55 100644 --- a/man/scale_colour_continuous.Rd +++ b/man/scale_colour_continuous.Rd @@ -5,9 +5,11 @@ \alias{scale_fill_continuous} \title{Continuous colour scales} \usage{ -scale_colour_continuous(..., type = getOption("ggplot2.continuous.colour")) +scale_colour_continuous(..., type = getOption("ggplot2.continuous.colour", + default = "gradient")) -scale_fill_continuous(..., type = getOption("ggplot2.continuous.fill")) +scale_fill_continuous(..., type = getOption("ggplot2.continuous.fill", default + = "gradient")) } \arguments{ \item{...}{Additional parameters passed on to the scale type} @@ -18,8 +20,8 @@ colour scale to use} \description{ Colour scales for continuous data default to the values of the \code{ggplot2.continuous.colour} and \code{ggplot2.continuous.fill} options. If these -options are not present, ggplot2 will set them to \code{"gradient"}. See -\code{\link[=options]{options()}} for more information. +options are not present, \code{"gradient"} will be used. See \code{\link[=options]{options()}} for more +information. } \examples{ v <- ggplot(faithfuld, aes(waiting, eruptions, fill = density)) + From dc77651a5e1121843161b888114733c90460e124 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Wed, 5 Jul 2017 10:25:57 -0700 Subject: [PATCH 14/15] Put closing paren on new line --- R/scale-viridis.r | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/R/scale-viridis.r b/R/scale-viridis.r index 7580e105f..0b99b27dc 100644 --- a/R/scale-viridis.r +++ b/R/scale-viridis.r @@ -76,7 +76,8 @@ scale_colour_viridis_c <- function(..., alpha = 1, begin = 0, end = 1, gradient_n_pal( viridis_pal(alpha, begin, end, direction, option)(6), values, - space), + space + ), na.value = na.value, guide = guide, ... @@ -95,7 +96,8 @@ scale_fill_viridis_c <- function(..., alpha = 1, begin = 0, end = 1, gradient_n_pal( viridis_pal(alpha, begin, end, direction, option)(6), values, - space), + space + ), na.value = na.value, guide = guide, ... From ec3ae12dcb7436a6e9bae5965ee244b06f3cdfb4 Mon Sep 17 00:00:00 2001 From: Kara Woo Date: Wed, 5 Jul 2017 10:26:08 -0700 Subject: [PATCH 15/15] Update NEWS.md --- NEWS.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 9e6677c32..1ab2510b7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,13 @@ # ggplot2 2.2.1.9000 -* Add built-in support for `viridis` and related color maps (@karawoo). +* Default colour maps for continuous data are controlled by global options + `ggplot2.continuous.colour` and `ggplot2.continuous.fill`, which can be set to + either `"gradient"` or `"viridis"` (@karawoo). + +* Adds built-in support for `viridis` and related colour maps. Use the functions + `scale_colour_viridis_c()`/`scale_fill_viridis_c()` for continuous data and + `scale_colour_viridis_d()`/`scale_fill_viridis_d()` for discrete data + (@karawoo, #1526). * Updated datetime scales for `alpha`, `size`, `colour`, and `fill` can take `date_breaks` and `date_labels` arguments (@karawoo, #1526).