Learn R Programming

CET Perceptually Uniform Colour Maps (cetcolor)

The cetcolor package is designed to bring to R the 56 colour maps created by Peter Kovesi that avoid points of locally high colour contrast leading to the perception of false anomalies in your data when there is none. The colour maps have been designed to avoid this phenomenon by having uniform perceptual contrast over their whole range.

Installation

The cetcolor package is available on both CRAN and GitHub. The CRAN version is considered stable while the GitHub version is in a state of development and may break.

You can install the stable version of the cetcolor package with:

install.packages("cetcolor")

For the development version, you can opt for:

install.packages("devtools")
devtools::install_github("coatless/cetcolor")

Sample Usage

# Load the Library
library("cetcolor")

# Get RGB Hexadecimals for graphing
cet_pal(5, name = "blues")
#> [1] "#F1F1F1" "#C0D3EB" "#93B5DD" "#7197C1" "#3B7CB2"

# Sample use with ggplot2
library("ggplot2")

ggplot(faithfuld, aes(waiting, eruptions)) +
  geom_raster(aes(fill = density)) +
  theme_bw() + theme(panel.grid=element_blank()) -> g

library("gridExtra")

# Frequently used colour maps have "nicknames" see ?cet_color_maps 
grid.arrange(
  g + scale_fill_gradientn(colours = cet_pal(5, name = "fire")),
  g + scale_fill_gradientn(colours = cet_pal(5, name = "inferno")),
  g + scale_fill_gradientn(colours = cet_pal(5, name = "blues")),
  g + scale_fill_gradientn(colours = cet_pal(5, name = "kgy")),
  ncol = 2, nrow = 2
)

# Show a panel of possible values (without nicknames)
display_cet_all()

References

CET

R Colour Palettes

  • viridis (Source)
    • Provides MATLAB perceptually uniform colour maps in a manner that is similar to this package.
  • RColorBrewer (Source)
    • Function interface naming, e.g. cet_pal(n, name), and colour map
    displays.
  • scales and ggplot2
    • Proper ways to interface colour palettes with ggplot2 as shown for RColorBrewer.

Future

  • Allow for n > 256.
  • Provide hooks for ggplot2 gradient and discrete scales
  • Port over the Peter’s generation code from Julia / MATLAB to R.

License

CC BY-SA 4.0

Copy Link

Version

Install

install.packages('cetcolor')

Monthly Downloads

279

Version

0.2.0

License

CC BY-SA 4.0

Issues

Pull Requests

Stars

Forks

Maintainer

James Balamuta

Last Published

July 10th, 2018

Functions in cetcolor (0.2.0)

cetcolor-package

cetcolor: CET Perceptually Uniform Colour Maps
cet_color_maps

RGB Value Map of the CET Perceptually Uniform Colour Maps
cet_pal

CET Perceptually Uniform Color Maps
display_cet_pal

Display CET Color Maps