colorspace: A Toolbox for Manipulating and Assessing Colors and Palettes
Achim Zeileis, Jason C. Fisher, Kurt Hornik, Ross Ihaka, Claire D. McWhite, Paul Murrell, Reto Stauffer, Claus O. Wilke
TL;DR
colorspace provides a perceptually grounded framework for color palette design in R, leveraging the HCL color space to create qualitative, sequential, and diverging palettes with transparent construction rules. By offering S4 color spaces, palette builders, visualization tools, and ggplot2 integration, the package enables precise control over hue, chroma, and luminance trajectories and facilitates assessment of color-vision deficiencies. Its contributions include flexible diverging palettes, user palette registration, and methods to approximate existing palettes from other ecosystems, all aimed at improving accessibility and interpretability of data visualizations. The approach supports both interactive exploration and programmatic palette generation, with practical implications for producing perceptually balanced, accessible graphics across diverse viewing conditions.
Abstract
The R package colorspace provides a flexible toolbox for selecting individual colors or color palettes, manipulating these colors, and employing them in statistical graphics and data visualizations. In particular, the package provides a broad range of color palettes based on the HCL (Hue-Chroma-Luminance) color space. The three HCL dimensions have been shown to match those of the human visual system very well, thus facilitating intuitive selection of color palettes through trajectories in this space. Using the HCL color model general strategies for three types of palettes are implemented: (1) Qualitative for coding categorical information, i.e., where no particular ordering of categories is available. (2) Sequential for coding ordered/numeric information, i.e., going from high to low (or vice versa). (3) Diverging for coding ordered/numeric information around a central neutral value, i.e., where colors diverge from neutral to two extremes. To aid selection and application of these palettes the package also contains scales for use with ggplot2, shiny (and tcltk) apps for interactive exploration, visualizations of palette properties, accompanying manipulation utilities (like desaturation and lighten/darken), and emulation of color vision deficiencies.
