The colour cube guide is a specialised guide for chromatic scales. It maps three channels of a chromatic scale along three dimensions and renders an isometric cube displaying the colours.

guide_colourcube(
  title = waiver(),
  title.position = NULL,
  title.theme = NULL,
  title.hjust = NULL,
  title.vjust = NULL,
  title.offset = 0.2,
  label = TRUE,
  label.theme = NULL,
  label.hjust = NULL,
  label.vjust = NULL,
  cubewidth = NULL,
  cubeheight = NULL,
  nbin = 20,
  rotate = c(1, 2, 3, 4),
  frame.colour = "black",
  frame.linewidth = 0.5,
  frame.linetype = 1,
  ticks = TRUE,
  ticks.colour = "black",
  ticks.linewidth = 0.5,
  default.unit = "line",
  order = 0,
  available_aes = c("colour", "color", "fill"),
  ...
)

guide_colorcube(
  title = waiver(),
  title.position = NULL,
  title.theme = NULL,
  title.hjust = NULL,
  title.vjust = NULL,
  title.offset = 0.2,
  label = TRUE,
  label.theme = NULL,
  label.hjust = NULL,
  label.vjust = NULL,
  cubewidth = NULL,
  cubeheight = NULL,
  nbin = 20,
  rotate = c(1, 2, 3, 4),
  frame.colour = "black",
  frame.linewidth = 0.5,
  frame.linetype = 1,
  ticks = TRUE,
  ticks.colour = "black",
  ticks.linewidth = 0.5,
  default.unit = "line",
  order = 0,
  available_aes = c("colour", "color", "fill"),
  ...
)

Arguments

title

A character string or expression indicating the 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. Note that the colour cube guide can take 3 titles: one for each axis.

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.

title.offset

A numeric(1) in centimeters determining how far away the axis titles should be drawn relative to the rightmost labels.

label

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

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.

cubewidth, cubeheight

A numeric(1) or grid::unit() object specifying the width/height of the colour cube. Default value is the legend.key.width/height or legend.key.size in the theme. The colour cube guide takes the lesser of the width/height for the size.

nbin

A numeric specifying the number of bins for drawing the colourbar. A smoother colourbar results from a larger value.

rotate

A integer vector equal in length to the number of channels. Changes the order in which channels are displayed in the cube. For example, c(1, 3, 2) swaps the placement of the 2nd and 3rd channels.

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

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

ticks.colour

A string specifying the colour of the tick marks.

ticks.linewidth

A numeric specifying the width of the tick marks.

default.unit

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

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.

available_aes

A vector of character strings listing the aesthetics for which a colourbar can be drawn.

...

ignored.

Value

A guide_colourcube S3 object.

See also

Other guides for chromatic scales: guide_chromatic(), guide_colourbar2(), guide_colourrect()

Examples

# Make a plot df <- data.frame(x = c(row(volcano)), y = c(col(volcano)), z = c(volcano)) g <- ggplot(df, aes(x, y)) + geom_raster(aes(fill = cmy_spec(x, z, y))) # Change the order of the axes g + guides(fill = guide_colourcube(rotate = c(3, 1, 2)))
# Take 3 titles for every channel g + guides(fill = guide_colourcube(title = c("Cyan", "Magenta", "Yellow")))
# One title becomes the main title g + guides(fill = guide_colourcube(title = "Main title"))