% Generated by roxygen2: do not edit by hand % Please edit documentation in R/scale-.r \name{discrete_scale} \alias{discrete_scale} \title{Discrete scale constructor} \usage{ discrete_scale( aesthetics, scale_name, palette, name = waiver(), breaks = waiver(), labels = waiver(), limits = NULL, expand = waiver(), na.translate = TRUE, na.value = NA, drop = TRUE, guide = "legend", position = "left", super = ScaleDiscrete ) } \arguments{ \item{aesthetics}{The names of the aesthetics that this scale works with.} \item{scale_name}{The name of the scale that should be used for error messages associated with this scale.} \item{palette}{A palette function that when called with a single integer argument (the number of levels in the scale) returns the values that they should take (e.g., \code{\link[scales:hue_pal]{scales::hue_pal()}}).} \item{name}{The name of the scale. Used as the axis or legend title. If \code{waiver()}, the default, the name of the scale is taken from the first mapping used for that aesthetic. If \code{NULL}, the legend title will be omitted.} \item{breaks}{One of: \itemize{ \item \code{NULL} for no breaks \item \code{waiver()} for the default breaks (the scale limits) \item A character vector of breaks \item A function that takes the limits as input and returns breaks as output. Also accepts rlang \link[rlang:as_function]{lambda} function notation. }} \item{labels}{One of: \itemize{ \item \code{NULL} for no labels \item \code{waiver()} for the default labels computed by the transformation object \item A character vector giving labels (must be same length as \code{breaks}) \item A function that takes the breaks as input and returns labels as output. Also accepts rlang \link[rlang:as_function]{lambda} function notation. }} \item{limits}{One of: \itemize{ \item \code{NULL} to use the default scale values \item A character vector that defines possible values of the scale and their order \item A function that accepts the existing (automatic) values and returns new ones. Also accepts rlang \link[rlang:as_function]{lambda} function notation. }} \item{expand}{For position scales, a vector of range expansion constants used to add some padding around the data to ensure that they are placed some distance away from the axes. Use the convenience function \code{\link[=expansion]{expansion()}} to generate the values for the \code{expand} argument. The defaults are to expand the scale by 5\% on each side for continuous variables, and by 0.6 units on each side for discrete variables.} \item{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{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{drop}{Should unused factor levels be omitted from the scale? The default, \code{TRUE}, uses the levels that appear in the data; \code{FALSE} uses all the levels in the factor.} \item{guide}{A function used to create a guide or its name. See \code{\link[=guides]{guides()}} for more information.} \item{position}{For position scales, The position of the axis. \code{left} or \code{right} for y axes, \code{top} or \code{bottom} for x axes.} \item{super}{The super class to use for the constructed scale} } \description{ Discrete scale constructor } \keyword{internal}