Skip to content

Repository files navigation

tinter

lifecycleR build statusCoverage statusLicense: MITCRAN statusCRAN Downloads

Introduction

tinter provides a simple way to generate monochromatic palettes. Easily define:

  • palette direction (“shades”, “tints”, or “both”).
  • number of colours to generate on either side (steps).
  • number of colours to remove from extreme end(s) of palette (e.g. default crop = 1 eliminates black and white).
  • darker or lighter output (adjust).
library(tinter)
hex<-"#335CAC"

tinter(hex)
#> [1] "#D6DEEE" "#ADBDDD" "#849DCD" "#5B7CBC" "#335CAC" "#284989" "#1E3767"#> [8] "#142444" "#0A1222"

tinter(hex, direction="tints")

tinter(hex, steps=10)

tinter(hex, steps=10, crop=7)

tinter(hex, steps=10, crop=7, adjust=0.4)

Create a choropleth map

library(ggplot2)
library(sf)
nc<- st_read(system.file(package="sf", "shape/nc.shp"))
ggplot(data=nc) +
geom_sf(aes(fill=AREA), colour="white", lwd=0.04) +# colours from tinter
scale_fill_gradientn(colours= tinter(hex)) +
theme_void() +
coord_sf(datum=NA)

Doesn’t this already exist?

tinter just simplifies a task usually done with grDevices. It’s default is to remove black and white from the palette.

tinter("blue")
#> [1] "#CCCCFF" "#9999FF" "#6666FF" "#3333FF" "#0000FF" "#0000CC" "#000099"#> [8] "#000065" "#000032"### ------ is identical togrDevices::colorRampPalette(colors= c("white", "blue", "black"))(11)[-(c(1, 11))]
#> [1] "#CCCCFF" "#9999FF" "#6565FF" "#3232FF" "#0000FF" "#0000CB" "#000098"#> [8] "#000065" "#000032"
tinter("blue", direction="shades")
#> [1] "#0000FF" "#0000CC" "#000099" "#000065" "#000032"### --- is identical togrDevices::colorRampPalette(colors= c("blue", "black"))(6)[-6]
#> [1] "#0000FF" "#0000CC" "#000099" "#000065" "#000032"
tinter("blue", crop=2)
#> [1] "#9999FF" "#6666FF" "#3333FF" "#0000FF" "#0000CC" "#000099" "#000065"### --- is identical togrDevices::colorRampPalette(colors= c("white", "blue", "black"))(11)[-(c(1:2, 10:11))]
#> [1] "#9999FF" "#6565FF" "#3232FF" "#0000FF" "#0000CB" "#000098" "#000065"

Installation

To install the latest release from CRAN

install.packages("tinter")

To install the developmental version from GitHub

# install.packages("remotes")remotes::install_github("poissonconsulting/tinter")

Contribution

Please report any issues.

Pull requests are always welcome.

Please note that the tinter project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

About

An R package to get tints and shades (and both) of a colour

Topics

Resources

Code of conduct

Contributing

Stars

51 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages