R: Graphical User Interface for Choosing HCL Color Palettes

choose_palette {colorspace} | R Documentation

## Graphical User Interface for Choosing HCL Color Palettes

### Description

A graphical user interface (GUI) for viewing, manipulating, and choosing HCL color palettes.

### Usage

    choose_palette(pal = diverging_hcl, n = 7L, parent = NULL, gui = "tcltk", ...)

    hclwizard(n = 7L, gui = "shiny", ...)

### Arguments

`pal` | function; the initial palette, see ‘Value’ below. Only used if `gui = "tcltk"`.
`n` | integer; the initial number of colors in the palette.
`parent` | tkwin; the GUI parent window. Only used if `gui = "tcltk"`.
`gui` | character; GUI to use. Available options are `tcltk` and `shiny`, see ‘Details’ below.
`...` | used for development purposes only.

### Details

Computes palettes based on the HCL (hue-chroma-luminance) color model (as implemented by `polarLUV`). The GUIs interface the palette functions `qualitative_hcl` for qualitative palettes, `sequential_hcl` for sequential palettes with a single or multiple hues, and `diverging_hcl` for diverging palettes (composed from two single-hue sequential palettes).

Two different GUIs are implemented and can be selected using the function input argument `gui` (`"tcltk"` or `"shiny"`). Both GUIs allows for interactive modification of the arguments of the respective palette-generating functions, i.e., starting/ending hue (wavelength, type of color), minimal/maximal chroma (colorfulness), minimal maximal luminance (brightness, amount of gray), and a power transformations that control how quickly/slowly chroma and/or luminance are changed through the palette. Subsets of the parameters may not be applicable depending on the type of palette chosen. See `qualitative_hcl` and Zeileis et al. (2009, 2019) for a more detailed explanation of the different arguments. Stauffer et al. (2015) provide more examples and guidance.

Optionally, active palette can be illustrated by using a range of examples such as a map, heatmap, scatter plot, perspective 3D surface etc.

To demonstrate different types of deficiencies, the active palette may be desaturated (emulating printing on a grayscale printer) and collapsed to emulate different types of color-blindness (without red-green or green-blue contrasts) using the `simulate_cvd` functions.

`choose_palette` by default starts the Tcl/Tk version of the GUI while `hclwizard` by default starts the shiny version. `hcl_wizard` is an alias for `hclwizard`.

### Value

Returns a palette-generating function with the selected arguments. Thus, the returned function takes an integer argument and returns the corresponding number of HCL colors by traversing HCL space through interpolation of the specified hue/chroma/luminance/power values.

### Author(s)

Jason C. Fisher, Reto Stauffer, Achim Zeileis

### References

Zeileis A, Hornik K, Murrell P (2009). Escaping RGBland: Selecting Colors for Statistical Graphics. Computational Statistics & Data Analysis, 53, 3259–3270. doi: 10.1016/j.csda.2008.11.033 Preprint available from https://www.zeileis.org/papers/Zeileis+Hornik+Murrell-2009.pdf.

Stauffer R, Mayr GJ, Dabernig M, Zeileis A (2015). Somewhere over the Rainbow: How to Make Effective Use of Colors in Meteorological Visualizations. Bulletin of the American Meteorological Society, 96(2), 203–216. doi: 10.1175/BAMS-D-13-00155.1

Zeileis A, Fisher JC, Hornik K, Ihaka R, McWhite CD, Murrell P, Stauffer R, Wilke CO (2020). “colorspace: A Toolbox for Manipulating and Assessing Colors and Palettes.” Journal of Statistical Software, 96(1), 1–49. doi: 10.18637/jss.v096.i01

### See Also

`simulate_cvd`, `desaturate`, `qualitative_hcl`.

### Examples

    if(interactive()) {
    ## Using tcltk GUI
    pal <- choose_palette()
    ## or equivalently: hclwizard(gui = "tcltk")

    ## Using shiny GUI
    pal <- hclwizard()
    ## or equivalently: choose_palette(gui = "shiny")

    ## use resulting palette function
    filled.contour(volcano, color.palette = pal, asp = 1)
    }

[Package colorspace version 2.0-3 Index]