Skip to contents

Maps categorical values to colors.

Usage

palette_color_discrete(
  colors = NULL,
  domain = NULL,
  ordered = FALSE,
  missing = "#DDDDDD"
)

palette_colour_discrete(
  colors = NULL,
  domain = NULL,
  ordered = FALSE,
  missing = "#DDDDDD"
)

Arguments

colors

A vector of colors that values will be mapped to. If NULL (the default), uses viridis (see grDevices::hcl.colors()).

domain

A vector of categorical data specifying the possible values that can be mapped.

ordered

A logical scalar: should the levels be treated as already in the correct order?

missing

The color to return for NA values.

Value

A palette function that when called with a single argument (a vector of categorical values) returns a character vector of colors.

Examples

## Build color palette functions
bright <- c(versicolor = "#4477AA", virginica = "#EE6677", setosa = "#228833")
pal_color <- palette_color_discrete(colors = bright)

## Build symbol palette functions
symbols <- c(versicolor = 15, virginica = 16, setosa = 17)
pal_shapes <- palette_shape(symbols)

## Plot
plot(
  x = iris$Petal.Length,
  y = iris$Sepal.Length,
  pch = pal_shapes(iris$Species),
  col = pal_color(iris$Species),
  xlab = "Petal length",
  ylab = "Sepal length",
  panel.first = grid(),
  las = 1
)
legend("topleft", legend = names(bright), col = bright, pch = symbols)