Title: Color Scheme Helpers
Version: 0.0.2
Description: Hexadecimal codes are typically used to represent colors in R. Connecting these codes to their colors requires practice or memorization. 'palette' provides a 'vctrs' class for working with color palettes, including printing and plotting functions. The goal of the class is to place visual representations of color palettes directly on or, at least, next to their corresponding character representations. Palette extensions also are provided for data frames using 'pillar'.
License: MIT + file LICENSE
Encoding: UTF-8
RoxygenNote: 7.3.1
URL: https://github.com/christopherkenny/palette, https://christophertkenny.com/palette/
BugReports: https://github.com/christopherkenny/palette/issues
Imports: cli, pillar, vctrs
Suggests: ggplot2, spelling, testthat (≥ 3.0.0), vdiffr
Config/testthat/edition: 3
Language: en-US
Depends: R (≥ 3.5)
NeedsCompilation: no
Packaged: 2024-03-14 17:07:36 UTC; chris
Author: Christopher T. Kenny ORCID iD [aut, cre]
Maintainer: Christopher T. Kenny <christopherkenny@fas.harvard.edu>
Repository: CRAN
Date/Publication: 2024-03-15 10:40:02 UTC

palette: Color Scheme Helpers

Description

logo

Hexadecimal codes are typically used to represent colors in R. Connecting these codes to their colors requires practice or memorization. 'palette' provides a 'vctrs' class for working with color palettes, including printing and plotting functions. The goal of the class is to place visual representations of color palettes directly on or, at least, next to their corresponding character representations. Palette extensions also are provided for data frames using 'pillar'.

Author(s)

Maintainer: Christopher T. Kenny christopherkenny@fas.harvard.edu (ORCID)

See Also

Useful links:


Create a palette

Description

A palette is a class for color palettes built on vctrs. It is represented as a character vector of hexadecimal color codes. Named colors (like 'red') are translated to hexadecimal color codes.

Usage

palette(x = character())

validate_palette(x)

is_palette(x)

as_palette(x)

Arguments

x

A character vector of colors

Value

a palette vector

Examples

palette(roygbiv)

Internal vctrs methods

Description

Internal vctrs methods


Browse a palette on coolors.co

Description

Browse a palette on coolors.co

Usage

palette_browse(x)

palette_browse_url(x)

Arguments

x

A palette

Value

A URL to the palette

Examples

palette_browse(roygbiv)

Convert a URL to a palette

Description

This function takes a URL from either <coolors.co> or <colorhunt.co> and returns the palette.

Usage

palette_decode_url(x)

Arguments

x

A URL from either 'coolors.co' or 'colorhunt.co'

Value

a vector of type palette

Examples

palette_decode_url('https://coolors.co/ff4444-ffae4d-ffff60-50ff50-3939fa')
palette_decode_url('https://www.colorhunt.co/palette/b5c0d0ccd3caf5e8ddeed3d9')

Build a palette function

Description

Creates a palette function for use within ggplot2 as an argument to discrete_scale. If the number of colors requested is greater than the length of the palette, the palette will be repeated. If the number of colors requested is less than the length of the palette, the palette will be truncated. This is done explicitly, as vctrs recycling purposefully does not recycle to partial lengths, like a vector of size 10 to a vector of size 3 or 13.

Usage

palette_function(x)

Arguments

x

a palette

Value

a function which takes an integer n and returns a vector of n colors

Examples

palette_function(palette(roygbiv))(10)

Plot Palette Colors

Description

Plot Palette Colors

Usage

plot_palette(x, use_names = TRUE, use_ggplot = TRUE)

Arguments

x

a palette

use_names

Should the names of the palette be used as labels? Default: TRUE.

use_ggplot

Should the plot be made with ggplot2 if available? Default: TRUE.

Value

A ggplot (if ggplot2 is available) or base plot of the palette

Examples

plot_palette(roygbiv)

Rainbow Colors

Description

Rainbow Colors

Usage

roygbiv

Format

character vector of 7 hex codes

Examples

palette(roygbiv)

Palette Casting

Description

Dispatch methods for vctrs::vec_cast()

Usage

## S3 method for class 'palette'
vec_cast(x, to, ...)

Arguments

x

Vectors to cast.

to

Type to cast to. If NULL, x will be returned as is.

...

For vec_cast_common(), vectors to cast. For vec_cast(), vec_cast_default(), and vec_restore(), these dots are only for future extensions and should be empty.

Value

a vector of the same length, as class palette if convertible, otherwise character


Palette Coercion

Description

Coercion methods for vctrs::vec_ptype2()

Usage

## S3 method for class 'palette'
vec_ptype2(x, y, ...)

Arguments

x, y

Vector types.

...

These dots are for future extensions and must be empty.

Value

a vector of the same length, as class palette if convertible, otherwise character