Smooth colour gradient between n colours

Smooth colour gradient between n colours

scale_colour_gradientn(..., colours, values = NULL, space = "Lab",
  na.value = "grey50", guide = "colourbar")

scale_fill_gradientn(..., colours, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar")

scale_color_gradientn(..., colours, values = NULL, space = "Lab", na.value = "grey50", guide = "colourbar")

Other arguments passed on to discrete_scale to control name, limits, breaks, labels and so forth.
vector of colours
if colours should not be evenly positioned along the gradient this vector gives the position (between 0 and 1) for each colour in the colours vector. See rescale for a convience function to map
colour space in which to calculate gradient. "Lab" usually best unless gradient goes through white.
Colour to use for missing values
Type of legend. Use "colourbar" for continuous colour bar, or "legend" for discrete colour legend.
See Also

Other colour scales: scale_color_brewer, scale_color_distiller, scale_colour_brewer, scale_colour_distiller, scale_fill_brewer, scale_fill_distiller; scale_color_continuous, scale_color_gradient, scale_colour_continuous, scale_colour_gradient, scale_fill_continuous, scale_fill_gradient; scale_color_discrete, scale_color_hue, scale_colour_discrete, scale_colour_hue, scale_fill_discrete, scale_fill_hue; scale_color_gradient2, scale_colour_gradient2, scale_fill_gradient2; scale_color_grey, scale_colour_grey, scale_fill_grey

  • scale_color_gradientn
  • scale_colour_gradientn
  • scale_fill_gradientn
# scale_colour_gradient make it easy to use existing colour palettes

dsub <- subset(diamonds, x > 5 & x < 6 & y > 5 & y < 6)
dsub$diff <- with(dsub, sqrt(abs(x-y))* sign(x-y))
(d <- qplot(x, y, data=dsub, colour=diff))

d + scale_colour_gradientn(colours = rainbow(7))
breaks <- c(-0.5, 0, 0.5)
d + scale_colour_gradientn(colours = rainbow(7),
  breaks = breaks, labels = format(breaks))

d + scale_colour_gradientn(colours = topo.colors(10))
d + scale_colour_gradientn(colours = terrain.colors(10))

# You can force them to be symmetric by supplying a vector of
# values, and turning rescaling off
max_val <- max(abs(dsub$diff))
values <- seq(-max_val, max_val, length = 11)

d + scale_colour_gradientn(colours = topo.colors(10),
  values = values, rescaler = function(x, ...) x, oob = identity)
d + scale_colour_gradientn(colours = terrain.colors(10),
  values = values, rescaler = function(x, ...) x, oob = identity)
Documentation reproduced from package ggplot2, version 1.0.1, License: GPL-2

Community examples

Looks like there are no examples yet.