Package {ggpalettes}


Title: Curated Colour Palettes and Scales for 'ggplot2'
Version: 0.2.0
Description: Provides a broad catalogue of original categorical, sequential, and diverging colour palettes for scientific graphics, together with palette functions, named discrete and continuous colour and fill scales, catalogue plots, and palette diagnostics for 'ggplot2'. Palettes can also be retrieved as hexadecimal colour vectors for use in base graphics and other visualization systems.
License: MIT + file LICENSE
URL: https://yaoxiangli.github.io/ggpalettes/, https://github.com/YaoxiangLi/ggpalettes
BugReports: https://github.com/YaoxiangLi/ggpalettes/issues
Encoding: UTF-8
Imports: ggplot2, grDevices, rlang, stats
Suggests: testthat (≥ 3.0.0)
Config/testthat/edition: 3
Config/roxygen2/version: 8.0.0
NeedsCompilation: no
Packaged: 2026-07-24 22:33:43 UTC; Li
Author: Yaoxiang Li [aut, cre]
Maintainer: Yaoxiang Li <liyaoxiang@outlook.com>
Repository: CRAN
Date/Publication: 2026-08-04 16:30:17 UTC

Retrieve a curated colour palette

Description

Retrieve a curated colour palette

Usage

gg_palette(
  name = "meadow",
  n = NULL,
  direction = 1,
  alpha = 1,
  space = c("Lab", "rgb")
)

Arguments

name

Palette name. See gg_palette_names().

n

Number of colours to return. When NULL, returns the original anchors. Larger values are interpolated.

direction

Palette direction: 1 for the original order or -1 for the reversed order.

alpha

Opacity between 0 and 1.

space

Colour space used for interpolation: Lab or rgb.

Value

A character vector of hexadecimal colour values.

Examples

gg_palette("meadow")
gg_palette("ocean", n = 10)
gg_palette("ember", direction = -1, alpha = 0.8)

Check palette separation and background contrast

Description

This diagnostic summarizes perceptual separation in CIE Lab space and WCAG-style contrast against a selected background. It is a screening tool, not a guarantee of accessibility in every plot.

Usage

gg_palette_check(name = "meadow", n = NULL, background = "#FFFFFF")

Arguments

name

Palette name.

n

Number of colours to evaluate.

background

Background colour.

Value

A gg_palette_check object.

Examples

gg_palette_check("meadow")

Inspect the ggpalettes catalogue

Description

Inspect the ggpalettes catalogue

Usage

gg_palette_info(name = NULL, type = c("all", .palette_types))

Arguments

name

Optional palette name or vector of names.

type

Palette type used when name is NULL.

Value

A data frame describing palette names, types, sizes, and purposes.

Examples

gg_palette_info()
gg_palette_info(type = "categorical")
gg_palette_info("meadow")

List available ggpalettes palettes

Description

List available ggpalettes palettes

Usage

gg_palette_names(type = c("all", .palette_types))

Arguments

type

Palette type: all, categorical, sequential, or diverging.

Value

A character vector containing the available palette names.

Examples

gg_palette_names()
gg_palette_names("diverging")

Plot a palette catalogue

Description

Plot a palette catalogue

Usage

gg_palette_plot(names = NULL, type = c("all", .palette_types), n = 12L)

Arguments

names

Optional palette names. Defaults to the selected type.

type

Palette type used when names is NULL.

n

Number of swatches per palette.

Value

A ggplot object.

Examples

gg_palette_plot(type = "diverging", n = 9)

Named ggpalettes palette functions

Description

These convenience functions follow the ⁠pal_*()⁠ interface popularized by scientific palette packages.

Usage

pal_meadow(alpha = 1, reverse = FALSE)

pal_atelier(alpha = 1, reverse = FALSE)

pal_clinical(alpha = 1, reverse = FALSE)

pal_spectrum(alpha = 1, reverse = FALSE)

pal_pastel(alpha = 1, reverse = FALSE)

pal_earth(alpha = 1, reverse = FALSE)

pal_midnight(alpha = 1, reverse = FALSE)

pal_floral(alpha = 1, reverse = FALSE)

pal_coastal(alpha = 1, reverse = FALSE)

pal_harvest(alpha = 1, reverse = FALSE)

pal_aurora(alpha = 1, reverse = FALSE)

pal_ocean(alpha = 1, reverse = FALSE)

pal_ember(alpha = 1, reverse = FALSE)

pal_forest(alpha = 1, reverse = FALSE)

pal_orchid(alpha = 1, reverse = FALSE)

pal_slate(alpha = 1, reverse = FALSE)

pal_sunrise(alpha = 1, reverse = FALSE)

pal_glacier(alpha = 1, reverse = FALSE)

pal_berry(alpha = 1, reverse = FALSE)

pal_sand(alpha = 1, reverse = FALSE)

pal_balance(alpha = 1, reverse = FALSE)

pal_temperature(alpha = 1, reverse = FALSE)

pal_earthsky(alpha = 1, reverse = FALSE)

pal_rosepine(alpha = 1, reverse = FALSE)

pal_lagoon(alpha = 1, reverse = FALSE)

pal_violetgold(alpha = 1, reverse = FALSE)

Arguments

alpha

Opacity between 0 and 1.

reverse

Reverse the palette.

Value

A function accepting the requested number of colours.


Named ggpalettes scales

Description

Every palette has ⁠scale_color_*()⁠, ⁠scale_colour_*()⁠, and ⁠scale_fill_*()⁠ forms. Categorical palettes default to discrete scales; sequential and diverging palettes default to continuous scales.

Usage

scale_colour_meadow(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_meadow(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_meadow(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_atelier(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_atelier(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_atelier(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_clinical(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_clinical(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_clinical(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_spectrum(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_spectrum(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_spectrum(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_pastel(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_pastel(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_pastel(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_earth(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_earth(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_earth(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_midnight(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_midnight(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_midnight(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_floral(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_floral(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_floral(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_coastal(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_coastal(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_coastal(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_harvest(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_harvest(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_harvest(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_aurora(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_aurora(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_aurora(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_ocean(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_ocean(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_ocean(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_ember(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_ember(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_ember(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_forest(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_forest(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_forest(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_orchid(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_orchid(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_orchid(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_slate(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_slate(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_slate(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_sunrise(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_sunrise(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_sunrise(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_glacier(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_glacier(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_glacier(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_berry(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_berry(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_berry(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_sand(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_sand(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_sand(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_balance(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_balance(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_balance(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_temperature(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_temperature(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_temperature(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_earthsky(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_earthsky(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_earthsky(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_rosepine(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_rosepine(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_rosepine(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_lagoon(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_lagoon(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_lagoon(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_colour_violetgold(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_color_violetgold(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

scale_fill_violetgold(
  alpha = 1,
  reverse = FALSE,
  discrete = NULL,
  binned = FALSE,
  ...
)

Arguments

alpha

Opacity between 0 and 1.

reverse

Reverse the palette.

discrete

Use a discrete scale. NULL selects from palette type.

binned

Use a binned continuous scale.

...

Additional arguments passed to the ggplot2 scale.

Value

A ggplot2 scale object.


Create a palette function

Description

This follows the palette-function pattern used by scientific palette packages: the returned function accepts the number of colours needed.

Usage

pal_ggpalette(
  name = "meadow",
  alpha = 1,
  reverse = FALSE,
  space = c("Lab", "rgb")
)

Arguments

name

Palette name.

alpha

Opacity between 0 and 1.

reverse

Reverse the palette.

space

Interpolation colour space.

Value

A function with one argument, n.

Examples

pal <- pal_ggpalette("atelier")
pal(6)

ggplot2 colour and fill scales using ggpalettes

Description

When discrete is NULL, categorical palettes use a discrete scale and sequential/diverging palettes use a continuous gradient.

Usage

scale_colour_ggpalette(
  name = "meadow",
  discrete = NULL,
  binned = FALSE,
  alpha = 1,
  direction = 1,
  space = c("Lab", "rgb"),
  ...
)

scale_color_ggpalette(
  name = "meadow",
  discrete = NULL,
  binned = FALSE,
  alpha = 1,
  direction = 1,
  space = c("Lab", "rgb"),
  ...
)

scale_fill_ggpalette(
  name = "meadow",
  discrete = NULL,
  binned = FALSE,
  alpha = 1,
  direction = 1,
  space = c("Lab", "rgb"),
  ...
)

Arguments

name

Palette name.

discrete

Use a discrete scale. NULL selects from palette type.

binned

Use a binned continuous scale.

alpha

Opacity between 0 and 1.

direction

Palette direction: 1 or -1.

space

Interpolation colour space.

...

Additional arguments passed to the ggplot2 scale.

Value

A ggplot2 scale object.

Examples

library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour = Species)) +
  geom_point(size = 2) +
  scale_colour_ggpalette("meadow")