Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mccarthy-m-g/palettes

Methods for working with colour palettes in R
https://github.com/mccarthy-m-g/palettes

color-palette colors colour-palette colours ggplot2 gt palettes r r-package rstats vctrs

Last synced: 10 days ago
JSON representation

Methods for working with colour palettes in R

Awesome Lists containing this project

README

        

---
output: github_document
always_allow_html: true
---

```{r, include = FALSE, cache = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%",
cache = FALSE,
asciicast_theme = "pkgdown"
)
asciicast::init_knitr_engine(
startup = quote({
library(tibble)
library(palettes)
set.seed(1) }),
echo = TRUE,
echo_input = FALSE
)
```

# palettes

[![R-CMD-check](https://github.com/mccarthy-m-g/palettes/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/mccarthy-m-g/palettes/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/mccarthy-m-g/palettes/branch/main/graph/badge.svg)](https://app.codecov.io/gh/mccarthy-m-g/palettes?branch=main)
[![CRAN status](https://www.r-pkg.org/badges/version/palettes)](https://CRAN.R-project.org/package=palettes)
[![R-universe status](https://mccarthy-m-g.r-universe.dev/badges/palettes)](https://mccarthy-m-g.r-universe.dev/palettes)
[![CRAN downloads](https://cranlogs.r-pkg.org/badges/grand-total/palettes)](https://cran.r-project.org/package=palettes)

palettes is an R package for working with colour vectors and colour palettes. There are three main goals to the palettes package, each described in a vignette:

- To provide a new family of colour classes (`palettes_colour` and `palettes_palette`) that always print as hex codes with colour previews; `vignette("palettes")`.

- To provide a comprehensive library of methods for working with colour vectors and colour palettes, including methods for ggplot2, `vignette("ggplot2")`; gt, `vignette("gt")`; biscale, `vignette("biscale")`; and other colour packages, `vignette("compatibility")`.

- To make it easy for anyone to make their own colour palette package; `vignette("creating-packages")`. Colour palette packages made with palettes exist solely for the purpose of distributing colour palettes and get access to all the features of palettes for free.

## Installation

Install palettes from [CRAN](https://CRAN.R-project.org/package=palettes) with:

```r
install.packages("palettes")
```

Install the development version from [GitHub](https://github.com/mccarthy-m-g/palettes) or [R-universe](https://mccarthy-m-g.r-universe.dev/palettes) with:

```r
# Install from GitHub
# install.packages("remotes")
remotes::install_github("mccarthy-m-g/palettes")

# Install from R-universe
install.packages("palettes", repos = "https://mccarthy-m-g.r-universe.dev")
```

Install the [WebAssembly](https://webassembly.org) version for use in [WebR](https://docs.r-wasm.org/webr/latest/) applications with:

```r
# Install CRAN version from r-wasm
install.packages("palettes", repos = "https://repo.r-wasm.org")

# Install development version from R-universe
install.packages(
"palettes",
repos = c("https://mccarthy-m-g.r-universe.dev", "https://repo.r-wasm.org")
)
```

## Usage

```{r}
library(palettes)
```

Colours can be specified by name (as listed by `grDevices::colours()`):

```{asciicast pal-colour-character}
pal_colour("red")
```

Or by hex code:

```{asciicast pal-colour-hex}
pal_colour("#FF0000")
```

Multiple colours can be specified at once as a character vector:

```{asciicast pal-colour-vector}
pal_colour(c("#a00e00", "#d04e00", "#f6c200", "#0086a8", "#132b69"))
```

Named colour palettes can be specified in the same way:

```{asciicast pal-palette}
pal_palette(
egypt = c("#dd5129", "#0f7ba2", "#43b284", "#fab255"),
java = c("#663171", "#cf3a36", "#ea7428", "#e2998a", "#0c7156")
)
```

Colours also print nicely in tibbles:

```{asciicast tibble}
as_tibble(pal_colour(c("#dd5129", "#0f7ba2", "#43b284", "#fab255")))
```

## Documentation

See at [`https://mccarthy-m-g.github.io/palettes/`](https://mccarthy-m-g.github.io/palettes/reference/index.html) and also in the installed package: `help(package = "palettes")`.

## License

MIT © Michael McCarthy