scale_x_continuous(name = waiver(), breaks = waiver(), minor_breaks = waiver(), labels = waiver(), limits = NULL, expand = waiver(), oob = censor, na.value = NA_real_, trans = "identity")scale_y_continuous(name = waiver(), breaks = waiver(), minor_breaks = waiver(), labels = waiver(), limits = NULL, expand = waiver(), oob = censor, na.value = NA_real_, trans = "identity")scale_x_log10(...)scale_y_log10(...)scale_x_reverse(...)scale_y_reverse(...)scale_x_sqrt(...)scale_y_sqrt(...)
NULL
, the default, the name of the scale is taken from the first
mapping used for that aesthetic.NULL
for no breaks
waiver()
for the default breaks computed by the
transformation object
NULL
for no minor breaks
waiver()
for the default breaks (one minor break between
each major break)
NULL
for no labels
waiver()
for the default labels computed by the
transformation object
breaks
)
NA
to refer to the existing minimum or maximum.c(0.05, 0)
for continuous variables, and c(0, 0.6)
for
discrete variables.name_trans
, e.g.
boxcox_trans
. You can create your own
transformation with trans_new
.scale_(x|y)_continuous
scale_x_continuous
and scale_y_continuous
are the key functions.
The others, scale_x_log10
, scale_y_sqrt
etc, are aliases
that set the trans
argument to commonly used transformations.
if (require(ggplot2movies)) { m <- ggplot(subset(movies, votes > 1000), aes(rating, votes)) + geom_point(na.rm = TRUE) m # Manipulating the default position scales lets you: # * change the axis labels m + scale_y_continuous("number of votes") m + scale_y_continuous(quote(votes ^ alpha)) # * modify the axis limits m + scale_y_continuous(limits = c(0, 5000)) m + scale_y_continuous(limits = c(1000, 10000)) m + scale_x_continuous(limits = c(7, 8)) # you can also use the short hand functions xlim and ylim m + ylim(0, 5000) m + ylim(1000, 10000) m + xlim(7, 8) # * choose where the ticks appear m + scale_x_continuous(breaks = 1:10) m + scale_x_continuous(breaks = c(1,3,7,9)) # * manually label the ticks m + scale_x_continuous(breaks = c(2,5,8), labels = c("two", "five", "eight")) m + scale_x_continuous(breaks = c(2,5,8), labels = c("horrible", "ok", "awesome")) m + scale_x_continuous(breaks = c(2,5,8), labels = expression(Alpha, Beta, Omega)) # There are a few built in transformation that you can use: m + scale_y_log10() m + scale_y_sqrt() m + scale_y_reverse() # You can also create your own and supply them to the trans argument. # See ?scales::trans_new # You can control the formatting of the labels with the formatter # argument. Some common formats are built into the scales package: df <- data.frame( x = rnorm(10) * 100000, y = seq(0, 1, length.out = 10) ) p <- ggplot(df, aes(x, y)) + geom_point() p + scale_y_continuous(labels = scales::percent) p + scale_y_continuous(labels = scales::dollar) p + scale_x_continuous(labels = scales::comma) # Other shortcut functions ggplot(movies, aes(rating, votes)) + geom_point() + ylim(1e4, 5e4) # * axis labels ggplot(movies, aes(rating, votes)) + geom_point() + labs(x = "My x axis", y = "My y axis") # * log scaling ggplot(movies, aes(rating, votes)) + geom_point() + scale_x_log10() + scale_y_log10() }Loading required package: ggplot2movies Warning message: there is no package called ‘ggplot2movies’
scale_date
for date/time position scales.