diff --git a/NEWS.md b/NEWS.md index 9340b73a2f..7dfe78b635 100644 --- a/NEWS.md +++ b/NEWS.md @@ -283,6 +283,7 @@ * Munching in `coord_polar()` and `coord_radial()` now adds more detail, particularly for data-points with a low radius near the center (@teunbrand, #5023). +* All scales now expose the `aesthetics` parameter (@teunbrand, #5841) # ggplot2 3.5.1 diff --git a/R/scale-alpha.R b/R/scale-alpha.R index 5e22937e88..c9155db9aa 100644 --- a/R/scale-alpha.R +++ b/R/scale-alpha.R @@ -31,9 +31,9 @@ #' #' # Changing the title #' p + scale_alpha("cylinders") -scale_alpha <- function(name = waiver(), ..., range = NULL) { +scale_alpha <- function(name = waiver(), ..., range = NULL, aesthetics = "alpha") { palette <- if (!is.null(range)) pal_rescale(range) else NULL - continuous_scale("alpha", name = name, palette = palette, ...) + continuous_scale(aesthetics, name = name, palette = palette, ...) } #' @rdname scale_alpha @@ -42,9 +42,9 @@ scale_alpha_continuous <- scale_alpha #' @rdname scale_alpha #' @export -scale_alpha_binned <- function(name = waiver(), ..., range = NULL) { +scale_alpha_binned <- function(name = waiver(), ..., range = NULL, aesthetics = "alpha") { palette <- if (!is.null(range)) pal_rescale(range) else NULL - binned_scale("alpha", name = name, palette = palette, ...) + binned_scale(aesthetics, name = name, palette = palette, ...) } #' @rdname scale_alpha @@ -58,22 +58,22 @@ scale_alpha_discrete <- function(...) { #' @rdname scale_alpha #' @export -scale_alpha_ordinal <- function(name = waiver(), ..., range = NULL) { +scale_alpha_ordinal <- function(name = waiver(), ..., range = NULL, aesthetics = "alpha") { palette <- if (!is.null(range)) { function(n) seq(range[1], range[2], length.out = n) } else { NULL } - discrete_scale("alpha", name = name, palette = palette, ...) + discrete_scale(aesthetics, name = name, palette = palette, ...) } #' @rdname scale_alpha #' @export #' @usage NULL -scale_alpha_datetime <- function(name = waiver(), ..., range = NULL) { +scale_alpha_datetime <- function(name = waiver(), ..., range = NULL, aesthetics = "alpha") { palette <- if (!is.null(range)) pal_rescale(range) else NULL datetime_scale( - aesthetics = "alpha", transform = "time", name = name, + aesthetics = aesthetics, transform = "time", name = name, palette = palette, ... ) } @@ -81,10 +81,10 @@ scale_alpha_datetime <- function(name = waiver(), ..., range = NULL) { #' @rdname scale_alpha #' @export #' @usage NULL -scale_alpha_date <- function(name = waiver(), ..., range = NULL){ +scale_alpha_date <- function(name = waiver(), ..., range = NULL, aesthetics = "alpha"){ palette <- if (!is.null(range)) pal_rescale(range) else NULL datetime_scale( - aesthetics = "alpha", transform = "date", name = name, + aesthetics = aesthetics, transform = "date", name = name, palette = palette, ... ) } diff --git a/R/scale-identity.R b/R/scale-identity.R index d86f6ae360..3ab2de5c43 100644 --- a/R/scale-identity.R +++ b/R/scale-identity.R @@ -89,9 +89,10 @@ scale_fill_identity <- function(name = waiver(), ..., guide = "none", #' @seealso #' Other shape scales: [scale_shape()], [scale_shape_manual()]. #' @export -scale_shape_identity <- function(name = waiver(), ..., guide = "none") { +scale_shape_identity <- function(name = waiver(), ..., guide = "none", + aesthetics = "shape") { continuous_scale( - "shape", name = name, + aesthetics, name = name, palette = pal_identity(), ..., guide = guide, super = ScaleContinuousIdentity ) @@ -101,9 +102,10 @@ scale_shape_identity <- function(name = waiver(), ..., guide = "none") { #' @seealso #' Other linetype scales: [scale_linetype()], [scale_linetype_manual()]. #' @export -scale_linetype_identity <- function(name = waiver(), ..., guide = "none") { +scale_linetype_identity <- function(name = waiver(), ..., guide = "none", + aesthetics = "linetype") { discrete_scale( - "linetype", name = name, + aesthetics, name = name, palette = pal_identity(), ..., guide = guide, super = ScaleDiscreteIdentity ) @@ -113,9 +115,10 @@ scale_linetype_identity <- function(name = waiver(), ..., guide = "none") { #' @seealso #' Other alpha scales: [scale_alpha()], [scale_alpha_manual()]. #' @export -scale_linewidth_identity <- function(name = waiver(), ..., guide = "none") { +scale_linewidth_identity <- function(name = waiver(), ..., guide = "none", + aesthetics = "linewidth") { continuous_scale( - "linewidth", name = name, + aesthetics, name = name, palette = pal_identity(), ..., guide = guide, super = ScaleContinuousIdentity ) @@ -123,9 +126,10 @@ scale_linewidth_identity <- function(name = waiver(), ..., guide = "none") { #' @rdname scale_identity #' @export -scale_alpha_identity <- function(name = waiver(), ..., guide = "none") { +scale_alpha_identity <- function(name = waiver(), ..., guide = "none", + aesthetics = "alpha") { continuous_scale( - "alpha", name = name, + aesthetics, name = name, palette = pal_identity(), ..., guide = guide, super = ScaleContinuousIdentity ) @@ -135,9 +139,10 @@ scale_alpha_identity <- function(name = waiver(), ..., guide = "none") { #' @seealso #' Other size scales: [scale_size()], [scale_size_manual()]. #' @export -scale_size_identity <- function(name = waiver(), ..., guide = "none") { +scale_size_identity <- function(name = waiver(), ..., guide = "none", + aesthetics = "size") { continuous_scale( - "size", name = name, + aesthetics, name = name, palette = pal_identity(), ..., guide = guide, super = ScaleContinuousIdentity ) diff --git a/R/scale-linetype.R b/R/scale-linetype.R index 8f8c62e30e..a53f660c72 100644 --- a/R/scale-linetype.R +++ b/R/scale-linetype.R @@ -5,7 +5,7 @@ #' line types unless `scale_linetype_binned()` is used. Still, as linetypes has #' no inherent order, this use is not advised. #' -#' @inheritParams scale_x_discrete +#' @inheritParams discrete_scale #' @inheritDotParams discrete_scale -expand -position -na.value -scale_name -palette #' @param na.value The linetype to use for `NA` values. #' @rdname scale_linetype @@ -35,9 +35,9 @@ #' scale_linetype_identity() + #' facet_grid(linetype ~ .) + #' theme_void(20) -scale_linetype <- function(name = waiver(), ..., na.value = NA) { +scale_linetype <- function(name = waiver(), ..., na.value = NA, aesthetics = "linetype") { discrete_scale( - "linetype", name = name, + aesthetics, name = name, palette = NULL, na.value = na.value, ... @@ -46,9 +46,9 @@ scale_linetype <- function(name = waiver(), ..., na.value = NA) { #' @rdname scale_linetype #' @export -scale_linetype_binned <- function(name = waiver(), ..., na.value = NA) { +scale_linetype_binned <- function(name = waiver(), ..., na.value = NA, aesthetics = "linetype") { binned_scale( - "linetype", name = name, + aesthetics, name = name, palette = NULL, na.value = na.value, ... diff --git a/R/scale-linewidth.R b/R/scale-linewidth.R index 9bf05b3913..f9cec8856f 100644 --- a/R/scale-linewidth.R +++ b/R/scale-linewidth.R @@ -33,9 +33,10 @@ scale_linewidth_continuous <- function(name = waiver(), breaks = waiver(), labels = waiver(), limits = NULL, range = NULL, transform = "identity", trans = deprecated(), - guide = "legend") { + guide = "legend", + aesthetics = "linewidth") { palette <- if (!is.null(range)) pal_rescale(range) else NULL - continuous_scale("linewidth", palette = palette, name = name, + continuous_scale(aesthetics, palette = palette, name = name, breaks = breaks, labels = labels, limits = limits, transform = transform, trans = trans, guide = guide) } @@ -49,9 +50,9 @@ scale_linewidth <- scale_linewidth_continuous scale_linewidth_binned <- function(name = waiver(), breaks = waiver(), labels = waiver(), limits = NULL, range = NULL, n.breaks = NULL, nice.breaks = TRUE, transform = "identity", - trans = deprecated(), guide = "bins") { + trans = deprecated(), guide = "bins", aesthetics = "linewidth") { palette <- if (!is.null(range)) pal_rescale(range) else NULL - binned_scale("linewidth", palette = palette, name = name, + binned_scale(aesthetics, palette = palette, name = name, breaks = breaks, labels = labels, limits = limits, transform = transform, trans = trans, n.breaks = n.breaks, nice.breaks = nice.breaks, guide = guide) @@ -70,22 +71,22 @@ scale_linewidth_discrete <- function(...) { #' @rdname scale_linewidth #' @export #' @usage NULL -scale_linewidth_ordinal <- function(name = waiver(), ..., range = NULL) { +scale_linewidth_ordinal <- function(name = waiver(), ..., range = NULL, aesthetics = "linewidth") { palette <- if (!is.null(range)) { function(n) seq(range[1], range[2], length.out = n) } else { NULL } - discrete_scale("linewidth", name = name, palette = palette, ...) + discrete_scale(aesthetics, name = name, palette = palette, ...) } #' @rdname scale_linewidth #' @export #' @usage NULL -scale_linewidth_datetime <- function(name = waiver(), ..., range = NULL) { +scale_linewidth_datetime <- function(name = waiver(), ..., range = NULL, aesthetics = "linewidth") { palette <- if (!is.null(range)) pal_rescale(range) else NULL datetime_scale( - "linewidth", transform = "time", name = name, + aesthetics, transform = "time", name = name, palette = palette, ... ) } @@ -93,10 +94,10 @@ scale_linewidth_datetime <- function(name = waiver(), ..., range = NULL) { #' @rdname scale_linewidth #' @export #' @usage NULL -scale_linewidth_date <- function(name = waiver(), ..., range = NULL) { +scale_linewidth_date <- function(name = waiver(), ..., range = NULL, aesthetics = "linewidth") { palette <- if (!is.null(range)) pal_rescale(range) else NULL datetime_scale( - "linewidth", transform = "date", name = name, + aesthetics, transform = "date", name = name, palette = palette, ... ) } diff --git a/R/scale-manual.R b/R/scale-manual.R index 47c647fc02..9f6284361b 100644 --- a/R/scale-manual.R +++ b/R/scale-manual.R @@ -11,7 +11,7 @@ #' `scale_discrete_manual()` is a generic scale that can work with any aesthetic or set #' of aesthetics provided via the `aesthetics` argument. #' -#' @inheritParams scale_x_discrete +#' @inheritParams discrete_scale #' @inheritDotParams discrete_scale -expand -position -aesthetics -palette -scale_name #' @param aesthetics Character string or vector of character strings listing the #' name(s) of the aesthetic(s) that this scale works with. This can be useful, for @@ -103,38 +103,38 @@ scale_fill_manual <- function(..., values, aesthetics = "fill", breaks = waiver( #' @seealso #' Other size scales: [scale_size()], [scale_size_identity()]. #' @export -scale_size_manual <- function(..., values, breaks = waiver(), na.value = NA) { - manual_scale("size", values, breaks, ..., na.value = na.value) +scale_size_manual <- function(..., values, breaks = waiver(), na.value = NA, aesthetics = "size") { + manual_scale(aesthetics, values, breaks, ..., na.value = na.value) } #' @rdname scale_manual #' @seealso #' Other shape scales: [scale_shape()], [scale_shape_identity()]. #' @export -scale_shape_manual <- function(..., values, breaks = waiver(), na.value = NA) { - manual_scale("shape", values, breaks, ..., na.value = na.value) +scale_shape_manual <- function(..., values, breaks = waiver(), na.value = NA, aesthetics = "shape") { + manual_scale(aesthetics, values, breaks, ..., na.value = na.value) } #' @rdname scale_manual #' @seealso #' Other linetype scales: [scale_linetype()], [scale_linetype_identity()]. #' @export -scale_linetype_manual <- function(..., values, breaks = waiver(), na.value = NA) { - manual_scale("linetype", values, breaks, ..., na.value = na.value) +scale_linetype_manual <- function(..., values, breaks = waiver(), na.value = NA, aesthetics = "linetype") { + manual_scale(aesthetics, values, breaks, ..., na.value = na.value) } #' @rdname scale_manual #' @seealso #' Other alpha scales: [scale_alpha()], [scale_alpha_identity()]. #' @export -scale_linewidth_manual <- function(..., values, breaks = waiver(), na.value = NA) { - manual_scale("linewidth", values, breaks, ..., na.value = na.value) +scale_linewidth_manual <- function(..., values, breaks = waiver(), na.value = NA, aesthetics = "linewidth") { + manual_scale(aesthetics, values, breaks, ..., na.value = na.value) } #' @rdname scale_manual #' @export -scale_alpha_manual <- function(..., values, breaks = waiver(), na.value = NA) { - manual_scale("alpha", values, breaks, ..., na.value = na.value) +scale_alpha_manual <- function(..., values, breaks = waiver(), na.value = NA, aesthetics = "alpha") { + manual_scale(aesthetics, values, breaks, ..., na.value = na.value) } #' @rdname scale_manual diff --git a/R/scale-shape.R b/R/scale-shape.R index 39687022fc..bde6756840 100644 --- a/R/scale-shape.R +++ b/R/scale-shape.R @@ -9,7 +9,7 @@ #' #' @param solid Should the shapes be solid, `TRUE`, or hollow, #' `FALSE`? -#' @inheritParams scale_x_discrete +#' @inheritParams discrete_scale #' @inheritDotParams discrete_scale -expand -position -scale_name -palette #' @rdname scale_shape #' @details @@ -49,16 +49,16 @@ #' scale_shape_identity() + #' facet_wrap(~shape) + #' theme_void() -scale_shape <- function(name = waiver(), ..., solid = NULL) { +scale_shape <- function(name = waiver(), ..., solid = NULL, aesthetics = "shape") { palette <- if (!is.null(solid)) pal_shape(solid) else NULL - discrete_scale("shape", name = name, palette = palette, ...) + discrete_scale(aesthetics, name = name, palette = palette, ...) } #' @rdname scale_shape #' @export -scale_shape_binned <- function(name = waiver(), ..., solid = TRUE) { +scale_shape_binned <- function(name = waiver(), ..., solid = TRUE, aesthetics = "shape") { palette <- if (!is.null(solid)) pal_binned(pal_shape(solid)) else NULL - binned_scale("shape", name = name, palette = palette, ...) + binned_scale(aesthetics, name = name, palette = palette, ...) } #' @rdname scale_shape diff --git a/R/scale-size.R b/R/scale-size.R index 525f378e15..964abf16a6 100644 --- a/R/scale-size.R +++ b/R/scale-size.R @@ -55,9 +55,10 @@ scale_size_continuous <- function(name = waiver(), breaks = waiver(), labels = w limits = NULL, range = NULL, transform = "identity", trans = deprecated(), - guide = "legend") { + guide = "legend", + aesthetics = "size") { palette <- if (!is.null(range)) pal_area(range) else NULL - continuous_scale("size", palette = palette, name = name, + continuous_scale(aesthetics, palette = palette, name = name, breaks = breaks, labels = labels, limits = limits, transform = transform, trans = trans, guide = guide) } @@ -71,8 +72,8 @@ scale_size <- scale_size_continuous scale_radius <- function(name = waiver(), breaks = waiver(), labels = waiver(), limits = NULL, range = c(1, 6), transform = "identity", trans = deprecated(), - guide = "legend") { - continuous_scale("size", palette = pal_rescale(range), name = name, + guide = "legend", aesthetics = "size") { + continuous_scale(aesthetics, palette = pal_rescale(range), name = name, breaks = breaks, labels = labels, limits = limits, transform = transform, trans = trans, guide = guide) } @@ -82,9 +83,10 @@ scale_radius <- function(name = waiver(), breaks = waiver(), labels = waiver(), scale_size_binned <- function(name = waiver(), breaks = waiver(), labels = waiver(), limits = NULL, range = NULL, n.breaks = NULL, nice.breaks = TRUE, transform = "identity", - trans = deprecated(), guide = "bins") { + trans = deprecated(), guide = "bins", + aesthetics = "size") { palette <- if (!is.null(range)) pal_area(range) else NULL - binned_scale("size", palette = palette, name = name, + binned_scale(aesthetics, palette = palette, name = name, breaks = breaks, labels = labels, limits = limits, transform = transform, trans = trans, n.breaks = n.breaks, nice.breaks = nice.breaks, guide = guide) @@ -103,22 +105,22 @@ scale_size_discrete <- function(...) { #' @rdname scale_size #' @export #' @usage NULL -scale_size_ordinal <- function(name = waiver(), ..., range = NULL) { +scale_size_ordinal <- function(name = waiver(), ..., range = NULL, aesthetics = "size") { palette <- if (!is.null(range)) { function(n) sqrt(seq(range[1]^2, range[2]^2, length.out = n)) } else { NULL } - discrete_scale("size", name = name, palette = palette, ...) + discrete_scale(aesthetics, name = name, palette = palette, ...) } #' @inheritDotParams continuous_scale -aesthetics -scale_name -palette -rescaler -expand -position #' @param max_size Size of largest points. #' @export #' @rdname scale_size -scale_size_area <- function(name = waiver(), ..., max_size = 6) { +scale_size_area <- function(name = waiver(), ..., max_size = 6, aesthetics = "size") { continuous_scale( - "size", name = name, + aesthetics, name = name, palette = abs_area(max_size), rescaler = rescale_max, ... ) @@ -126,9 +128,9 @@ scale_size_area <- function(name = waiver(), ..., max_size = 6) { #' @export #' @rdname scale_size -scale_size_binned_area <- function(name = waiver(), ..., max_size = 6) { +scale_size_binned_area <- function(name = waiver(), ..., max_size = 6, aesthetics = "size") { binned_scale( - "size", name = name, + aesthetics, name = name, palette = abs_area(max_size), rescaler = rescale_max, ... ) @@ -137,15 +139,15 @@ scale_size_binned_area <- function(name = waiver(), ..., max_size = 6) { #' @rdname scale_size #' @export #' @usage NULL -scale_size_datetime <- function(name = waiver(), ..., range = NULL) { +scale_size_datetime <- function(name = waiver(), ..., range = NULL, aesthetics = "size") { palette <- if (!is.null(range)) pal_area(range) else NULL - datetime_scale("size", "time", name = name, palette = palette, ...) + datetime_scale(aesthetics, "time", name = name, palette = palette, ...) } #' @rdname scale_size #' @export #' @usage NULL -scale_size_date <- function(name = waiver(), ..., range = NULL) { +scale_size_date <- function(name = waiver(), ..., range = NULL, aesthetics = "size") { palette <- if (!is.null(range)) pal_area(range) else NULL - datetime_scale("size", "date", name = name, palette = palette, ...) + datetime_scale(aesthetics, "date", name = name, palette = palette, ...) } diff --git a/R/zxx.R b/R/zxx.R index 59b3812e56..7c10940491 100644 --- a/R/zxx.R +++ b/R/zxx.R @@ -36,9 +36,10 @@ scale_colour_datetime <- function(name = waiver(), ..., high = "#56B1F7", space = "Lab", na.value = "grey50", - guide = "colourbar") { + guide = "colourbar", + aesthetics = "colour") { datetime_scale( - aesthetics = "colour", transform = "time", name = name, + aesthetics = aesthetics, transform = "time", name = name, palette = pal_seq_gradient(low, high, space), na.value = na.value, guide = guide, @@ -60,9 +61,10 @@ scale_colour_date <- function(name = waiver(), high = "#56B1F7", space = "Lab", na.value = "grey50", - guide = "colourbar") { + guide = "colourbar", + aesthetics = "colour") { datetime_scale( - aesthetics = "colour", transform = "date", name = name, + aesthetics = aesthetics, transform = "date", name = name, palette = pal_seq_gradient(low, high, space), na.value = na.value, guide = guide, @@ -114,9 +116,10 @@ scale_fill_datetime <- function(name = waiver(), ..., high = "#56B1F7", space = "Lab", na.value = "grey50", - guide = "colourbar") { + guide = "colourbar", + aesthetics = "fill") { datetime_scale( - aesthetics = "fill", transform = "time", name = name, + aesthetics = aesthetics, transform = "time", name = name, palette = pal_seq_gradient(low, high, space), na.value = na.value, guide = guide, @@ -132,9 +135,10 @@ scale_fill_date <- function(name = waiver(), ..., high = "#56B1F7", space = "Lab", na.value = "grey50", - guide = "colourbar") { + guide = "colourbar", + aesthetics = "fill") { datetime_scale( - aesthetics = "fill", transform = "date", name = name, + aesthetics = aesthetics, transform = "date", name = name, palette = pal_seq_gradient(low, high, space), na.value = na.value, guide = guide, diff --git a/man/scale_alpha.Rd b/man/scale_alpha.Rd index 6833a08002..7c4a5784df 100644 --- a/man/scale_alpha.Rd +++ b/man/scale_alpha.Rd @@ -10,15 +10,20 @@ \alias{scale_alpha_date} \title{Alpha transparency scales} \usage{ -scale_alpha(name = waiver(), ..., range = NULL) +scale_alpha(name = waiver(), ..., range = NULL, aesthetics = "alpha") -scale_alpha_continuous(name = waiver(), ..., range = NULL) +scale_alpha_continuous( + name = waiver(), + ..., + range = NULL, + aesthetics = "alpha" +) -scale_alpha_binned(name = waiver(), ..., range = NULL) +scale_alpha_binned(name = waiver(), ..., range = NULL, aesthetics = "alpha") scale_alpha_discrete(...) -scale_alpha_ordinal(name = waiver(), ..., range = NULL) +scale_alpha_ordinal(name = waiver(), ..., range = NULL, aesthetics = "alpha") } \arguments{ \item{name}{The name of the scale. Used as the axis or legend title. If @@ -31,6 +36,8 @@ or \code{\link[=discrete_scale]{discrete_scale()}} as appropriate, to control na breaks, labels and so forth.} \item{range}{Output range of alpha values. Must lie between 0 and 1.} + +\item{aesthetics}{The names of the aesthetics that this scale works with.} } \description{ Alpha-transparency scales are not tremendously useful, but can be a diff --git a/man/scale_identity.Rd b/man/scale_identity.Rd index 2f3a877cfd..68100940e0 100644 --- a/man/scale_identity.Rd +++ b/man/scale_identity.Rd @@ -22,15 +22,35 @@ scale_colour_identity( scale_fill_identity(name = waiver(), ..., guide = "none", aesthetics = "fill") -scale_shape_identity(name = waiver(), ..., guide = "none") +scale_shape_identity( + name = waiver(), + ..., + guide = "none", + aesthetics = "shape" +) -scale_linetype_identity(name = waiver(), ..., guide = "none") +scale_linetype_identity( + name = waiver(), + ..., + guide = "none", + aesthetics = "linetype" +) -scale_linewidth_identity(name = waiver(), ..., guide = "none") +scale_linewidth_identity( + name = waiver(), + ..., + guide = "none", + aesthetics = "linewidth" +) -scale_alpha_identity(name = waiver(), ..., guide = "none") +scale_alpha_identity( + name = waiver(), + ..., + guide = "none", + aesthetics = "alpha" +) -scale_size_identity(name = waiver(), ..., guide = "none") +scale_size_identity(name = waiver(), ..., guide = "none", aesthetics = "size") scale_discrete_identity(aesthetics, name = waiver(), ..., guide = "none") diff --git a/man/scale_linetype.Rd b/man/scale_linetype.Rd index cc5fa67cb4..5707bd9f90 100644 --- a/man/scale_linetype.Rd +++ b/man/scale_linetype.Rd @@ -7,13 +7,23 @@ \alias{scale_linetype_discrete} \title{Scale for line patterns} \usage{ -scale_linetype(name = waiver(), ..., na.value = NA) +scale_linetype(name = waiver(), ..., na.value = NA, aesthetics = "linetype") -scale_linetype_binned(name = waiver(), ..., na.value = NA) +scale_linetype_binned( + name = waiver(), + ..., + na.value = NA, + aesthetics = "linetype" +) scale_linetype_continuous(...) -scale_linetype_discrete(name = waiver(), ..., na.value = NA) +scale_linetype_discrete( + name = waiver(), + ..., + na.value = NA, + aesthetics = "linetype" +) } \arguments{ \item{name}{The name of the scale. Used as the axis or legend title. If @@ -49,7 +59,6 @@ every level in a legend, the layer should use \code{show.legend = TRUE}.} \item{\code{na.translate}}{Unlike continuous scales, discrete scales can easily show missing values, and do so by default. If you want to remove missing values from a discrete scale, specify \code{na.translate = FALSE}.} - \item{\code{aesthetics}}{The names of the aesthetics that this scale works with.} \item{\code{minor_breaks}}{One of: \itemize{ \item \code{NULL} for no minor breaks @@ -79,6 +88,8 @@ notation. }} \item{na.value}{The linetype to use for \code{NA} values.} + +\item{aesthetics}{The names of the aesthetics that this scale works with.} } \description{ Default line types based on a set supplied by Richard Pearson, diff --git a/man/scale_linewidth.Rd b/man/scale_linewidth.Rd index 5c9a842da9..86e414a8a6 100644 --- a/man/scale_linewidth.Rd +++ b/man/scale_linewidth.Rd @@ -18,7 +18,8 @@ scale_linewidth( range = NULL, transform = "identity", trans = deprecated(), - guide = "legend" + guide = "legend", + aesthetics = "linewidth" ) scale_linewidth_binned( @@ -31,7 +32,8 @@ scale_linewidth_binned( nice.breaks = TRUE, transform = "identity", trans = deprecated(), - guide = "bins" + guide = "bins", + aesthetics = "linewidth" ) } \arguments{ @@ -99,6 +101,8 @@ You can create your own transformation with \code{\link[scales:new_transform]{sc \item{guide}{A function used to create a guide or its name. See \code{\link[=guides]{guides()}} for more information.} +\item{aesthetics}{The names of the aesthetics that this scale works with.} + \item{n.breaks}{An integer guiding the number of major breaks. The algorithm may choose a slightly different number to ensure nice break labels. Will only have an effect if \code{breaks = waiver()}. Use \code{NULL} to use the default diff --git a/man/scale_manual.Rd b/man/scale_manual.Rd index d49cd0f526..b2723888d4 100644 --- a/man/scale_manual.Rd +++ b/man/scale_manual.Rd @@ -28,15 +28,45 @@ scale_fill_manual( na.value = "grey50" ) -scale_size_manual(..., values, breaks = waiver(), na.value = NA) +scale_size_manual( + ..., + values, + breaks = waiver(), + na.value = NA, + aesthetics = "size" +) -scale_shape_manual(..., values, breaks = waiver(), na.value = NA) +scale_shape_manual( + ..., + values, + breaks = waiver(), + na.value = NA, + aesthetics = "shape" +) -scale_linetype_manual(..., values, breaks = waiver(), na.value = NA) +scale_linetype_manual( + ..., + values, + breaks = waiver(), + na.value = NA, + aesthetics = "linetype" +) -scale_linewidth_manual(..., values, breaks = waiver(), na.value = NA) +scale_linewidth_manual( + ..., + values, + breaks = waiver(), + na.value = NA, + aesthetics = "linewidth" +) -scale_alpha_manual(..., values, breaks = waiver(), na.value = NA) +scale_alpha_manual( + ..., + values, + breaks = waiver(), + na.value = NA, + aesthetics = "alpha" +) scale_discrete_manual(aesthetics, ..., values, breaks = waiver()) } diff --git a/man/scale_shape.Rd b/man/scale_shape.Rd index 4f90b5c0d6..64f831c75d 100644 --- a/man/scale_shape.Rd +++ b/man/scale_shape.Rd @@ -8,9 +8,9 @@ \alias{scale_shape_continuous} \title{Scales for shapes, aka glyphs} \usage{ -scale_shape(name = waiver(), ..., solid = NULL) +scale_shape(name = waiver(), ..., solid = NULL, aesthetics = "shape") -scale_shape_binned(name = waiver(), ..., solid = TRUE) +scale_shape_binned(name = waiver(), ..., solid = TRUE, aesthetics = "shape") } \arguments{ \item{name}{The name of the scale. Used as the axis or legend title. If @@ -49,7 +49,6 @@ from a discrete scale, specify \code{na.translate = FALSE}.} \item{\code{na.value}}{If \code{na.translate = TRUE}, what aesthetic value should the missing values be displayed as? Does not apply to position scales where \code{NA} is always placed at the far right.} - \item{\code{aesthetics}}{The names of the aesthetics that this scale works with.} \item{\code{minor_breaks}}{One of: \itemize{ \item \code{NULL} for no minor breaks @@ -80,6 +79,8 @@ notation. \item{solid}{Should the shapes be solid, \code{TRUE}, or hollow, \code{FALSE}?} + +\item{aesthetics}{The names of the aesthetics that this scale works with.} } \description{ \code{scale_shape()} maps discrete variables to six easily discernible shapes. diff --git a/man/scale_size.Rd b/man/scale_size.Rd index 2ba6a1e295..028d5b8490 100644 --- a/man/scale_size.Rd +++ b/man/scale_size.Rd @@ -21,7 +21,8 @@ scale_size( range = NULL, transform = "identity", trans = deprecated(), - guide = "legend" + guide = "legend", + aesthetics = "size" ) scale_radius( @@ -32,7 +33,8 @@ scale_radius( range = c(1, 6), transform = "identity", trans = deprecated(), - guide = "legend" + guide = "legend", + aesthetics = "size" ) scale_size_binned( @@ -45,12 +47,13 @@ scale_size_binned( nice.breaks = TRUE, transform = "identity", trans = deprecated(), - guide = "bins" + guide = "bins", + aesthetics = "size" ) -scale_size_area(name = waiver(), ..., max_size = 6) +scale_size_area(name = waiver(), ..., max_size = 6, aesthetics = "size") -scale_size_binned_area(name = waiver(), ..., max_size = 6) +scale_size_binned_area(name = waiver(), ..., max_size = 6, aesthetics = "size") } \arguments{ \item{name}{The name of the scale. Used as the axis or legend title. If @@ -117,6 +120,8 @@ You can create your own transformation with \code{\link[scales:new_transform]{sc \item{guide}{A function used to create a guide or its name. See \code{\link[=guides]{guides()}} for more information.} +\item{aesthetics}{The names of the aesthetics that this scale works with.} + \item{n.breaks}{An integer guiding the number of major breaks. The algorithm may choose a slightly different number to ensure nice break labels. Will only have an effect if \code{breaks = waiver()}. Use \code{NULL} to use the default