Qualitative Palettes with Many Colors

Tools for creating, viewing, and assessing qualitative palettes with many (20-30 or more) colors. See Coombes and colleagues (2019) .


Polychrome v1.2.0 (Release Date: 2019-03-17)

New Features:

  • Exported new functions, 'sortByHue' and 'sortByLuminance', as useful tools to create paired light-dark palettes.

Polychrome v1.1.1 (Release Date: 2018-05-17)

Bug Fixes:

  • Edited man pages and vignettes to remove typos.

Polychrome v1.1.0 (Release Date: 2018-04-11)

New Features:

  • Added a new precomputed palettes, 'colorsafe', that contains ten colors that should be distinguishable even by most individuals with color deficient vision.


  • Removed the dependence on the 'rgl' pacakge, since some people have trouble installing the external dependency (XQuartz) on Macintosh computers. Replaced it with 'scatterplot3D' for our 3D plots.

  • Added a 'getLUV" function so people who still want to use 'rgl' can more easily do so.

Polychrome v1.0.0 (Release Date: 2017-11=18)

New Features:

  • Added a new function, 'colorDeficit', that converts any palette to the equivalent that would be seen with a specifric form of color deficit vision.

  • Added two new precomputed palettes, Light24 and Dark24.


  • Added a new option to 'createPalette' that atempts to create useful palettes for individuals whose vision has specific color deficits.

Bug Fixes:

  • Fixed a bug in 'computeDistances' and 'plotDistances' when a palette contains two identical colors.

Polychrome v0.9.3 (Release Date: 2017-06-06)


  • Changed 'computeDistances' so it now only returns the vector of minimal relative distances, in order to improve usability.

Polychrome v0.9.0 (Release Date: 2017-04-28)


  • Added a second vignettte, focused on creating palettes.

  • Removed the 'turnGray' function, since it duplicates functionality from colorspace::desaturate.

  • Added error checking to the arguments of most of the functions.

  • Changed 'swatch' so it uses the luminance to decide whether to write color labels in white or black.

  • Changed the 'computeDistances' function so it includes the default starting point, thus obviating the need for adding one when you count the number of separated colors. (Technically, the distance for the first point should be infinite, but we set it to the distance to the second point to make it easier to plot.)

  • Changed the 'plotDistances' function so it now colors the points.

Non-Visible Changes

  • Added test code for converting different kinds of color specifications into hex-strings.

Polychrome v0.8.3 (Release Date: 2017-04-25)


  • Cleaned up typos and other problems in the man pages.


  • Finally got around to bringing this NEWS file up-to-date.

Polychrome v0.8.2 (Release Date: 2017-03-16)


  • Added an "extData" folder to the installation directory to use chromosome-linked AML data as an example of how one might apply the package to genomics.

Polychrome v0.8.1 (Release Date: 2016-09-29)


  • Made sure all the source files included consistent copyright lines.

Polychrome v0.8.0 (Release Date: 2016-09-15)


  • (Backwards Incompatible) Changed the names of all the barplot-based viewers to replace the cryptic "bp" with "swatch".

Polychrome v0.7.2 (Release Date: 2016-08-21)


  • Made the 'computeDistances' function (which was used internally by the 'plotDistances' routine) user-visible.

Polychrome v0.7.0 (Release Date: 2016-08-20)


  • Added the 'glasbey.colors' palette,with 32 colors.

Bug Fixes:

  • Modified the creation of our 'palette36' to use sRGB instead of RGB internally.

Polychrome v0.6.5 (Release Date: 2016-08-19)


  • Added the 'colorNames' function to assign UNIX/X11 color names to palettes.

  • Added '...' arguments to 'uvScatter' and 'luminance' functions, allowing users more control over the graphical displays.

Polychrome v0.6.3 (Release Date: 2016-08-17)


  • Added the 'invertColors' function, allowing for display of colors against a black background.

  • Added an additional argument M to the 'createPalette' funicton, giving the user control over the number of potential colors generated randomly during processing.

  • Added the 'plotDistances' viewer to display successive distances between colors in LUV space.

Polychrome v0.6.0 (Release Date: 2016-08-16)


  • Added a new viewer, 'plothc', which displays a palette as a dendrogram produced using hierarchical clustering based on Euclidean distance in LUV space.

Polychrome v0.5.0 (Release Date: 2016-05-16)


  • Finished the basic vignette.

Polychrome v0.5.0 (Release Date: 2016-05-16)


  • Added an optional 'range' argument to the 'createPalette' function, allowing users to control the range of luminance values.

Polychrome v0.4.2 (Release Date: 2016-05-11)


  • Started writing basic vignette.

Polychrome v0.4.1 (Release Date: 2016-05-09)


  • First complete draft of man pages.

Polychrome v0.3.16 (Release Date: 2016-05-09)


  • Added an "isccNames" function so users can assign color names to any palette.

  • Added the "palette36.colors' function to access our new standard 36-color palette.

  • Added our own 'alphabet.colors' palette, and sorted it alphabetically.

  • Exported the 'makegray' function.

Bug Fixes:

  • Fixed a bug in 'makePalette' so it now returns the number of colors you asked for instead of the whole palette.


  • First drafts of some man pages.

Polychrome v0.3.2 (Release Date: 2016-04-15)


  • Added iscc color name data as a proper R object loadable as data.

Polychrome v0.3.1 (Release Date: 2016-03-23)


  • Added historical palettes 'kelly.colors' and 'green.armytage.colors'

  • Added 'iscc.txt' to the data directory.


  • Cleaned up code to geneate our own 36-color and alphabet palettes.

  • Added "makegray" function.

Polychrome v0.1.0 (Release Date: 2016-03-22)


  • Intitial version of package


  • Changed the LICENSE from Artistic 2.0 to Apache 2.0

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.3.1 by Kevin R. Coombes, 6 months ago


Browse source code at https://github.com/cran/Polychrome

Authors: Kevin R. Coombes , Guy Brock

Documentation:   PDF Manual  

Apache License (== 2.0) license

Imports colorspace, scatterplot3d, methods, graphics, grDevices, stats, utils

Suggests RColorBrewer, knitr, rmarkdown, ggplot2

Imported by CliquePercolation, Mercator, vimpclust.

See at CRAN