This guide is version of guide_colourbar() for binned colour and fill scales. It shows areas between breaks as a single constant colour instead of the gradient known from the colourbar counterpart.

guide_coloursteps(even.steps = TRUE, show.limits = NULL, ticks = FALSE, ...)

guide_colorsteps(even.steps = TRUE, show.limits = NULL, ticks = FALSE, ...)

Arguments

even.steps

Should the rendered size of the bins be equal, or should they be proportional to their length in the data space? Defaults to TRUE

show.limits

Should labels for the outer limits of the bins be printed? Default is NULL which makes the guide use the setting from the scale

ticks

A logical specifying if tick marks on the colourbar should be visible.

...

Arguments passed on to guide_colourbar

barwidth

A numeric or a grid::unit() object specifying the width of the colourbar. Default value is legend.key.width or legend.key.size in theme() or theme.

barheight

A numeric or a grid::unit() object specifying the height of the colourbar. Default value is legend.key.height or legend.key.size in theme() or theme.

frame.colour

A string specifying the colour of the frame drawn around the bar. If NULL (the default), no frame is drawn.

frame.linewidth

A numeric specifying the width of the frame drawn around the bar.

frame.linetype

A numeric specifying the linetype of the frame drawn around the bar.

ticks.colour

A string specifying the colour of the tick marks.

ticks.linewidth

A numeric specifying the width of the tick marks.

draw.ulim

A logical specifying if the upper limit tick marks should be visible.

draw.llim

A logical specifying if the lower limit tick marks should be visible.

direction

A character string indicating the direction of the guide. One of "horizontal" or "vertical."

default.unit

A character string indicating grid::unit() for barwidth and barheight.

reverse

logical. If TRUE the colourbar is reversed. By default, the highest value is on the top and the lowest value is on the bottom

title

A character string or expression indicating a title of guide. If NULL, the title is not shown. By default (waiver()), the name of the scale object or the name specified in labs() is used for the title.

title.position

A character string indicating the position of a title. One of "top" (default for a vertical guide), "bottom", "left" (default for a horizontal guide), or "right."

title.theme

A theme object for rendering the title text. Usually the object of element_text() is expected. By default, the theme is specified by legend.title in theme() or theme.

title.hjust

A number specifying horizontal justification of the title text.

title.vjust

A number specifying vertical justification of the title text.

label

logical. If TRUE then the labels are drawn. If FALSE then the labels are invisible.

label.position

A character string indicating the position of a label. One of "top", "bottom" (default for horizontal guide), "left", or "right" (default for vertical guide).

label.theme

A theme object for rendering the label text. Usually the object of element_text() is expected. By default, the theme is specified by legend.text in theme().

label.hjust

A numeric specifying horizontal justification of the label text.

label.vjust

A numeric specifying vertical justification of the label text.

order

positive integer less than 99 that specifies the order of this guide among multiple guides. This controls the order in which multiple guides are displayed, not the contents of the guide itself. If 0 (default), the order is determined by a secret algorithm.

Value

A guide object

Use with discrete scale

This guide is intended to show binned data and work together with ggplot2's binning scales. However, it is sometimes desirable to perform the binning in a separate step, either as part of a stat (e.g. stat_contour_filled()) or prior to the visualisation. If you want to use this guide for discrete data the levels must follow the naming scheme implemented by base::cut(). This means that a bin must be encoded as "(<lower>, <upper>]" with <lower> giving the lower bound of the bin and <upper> giving the upper bound ("[<lower>, <upper>)" is also accepted). If you use base::cut() to perform the binning everything should work as expected, if not, some recoding may be needed.

See also

Examples

df <- expand.grid(X1 = 1:10, X2 = 1:10)
df$value <- df$X1 * df$X2

p <- ggplot(df, aes(X1, X2)) + geom_tile(aes(fill = value))

# Coloursteps guide is the default for binned colour scales
p + scale_fill_binned()


# By default each bin in the guide is the same size irrespectively of how
# their sizes relate in data space
p + scale_fill_binned(breaks = c(10, 25, 50))


# This can be changed with the `even.steps` argument
p + scale_fill_binned(
  breaks = c(10, 25, 50),
  guide = guide_coloursteps(even.steps = FALSE)
)


# By default the limits is not shown, but this can be changed
p + scale_fill_binned(guide = guide_coloursteps(show.limits = TRUE))


# (can also be set in the scale)
p + scale_fill_binned(show.limits = TRUE)