## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 3.5,
  fig.align = "center"
)

## ----list-palettes------------------------------------------------------------
library(biopalette)

list_palettes()[c("name", "type", "n_color")]

## ----filter-palettes----------------------------------------------------------
list_palettes(type = "sequential")[c("name", "n_color")]

## ----palette-info-------------------------------------------------------------
palette_info("mitonuclear_blue")

## ----gallery, eval = FALSE----------------------------------------------------
# palette_gallery()

## ----get-palette--------------------------------------------------------------
get_palette("three_body")
get_palette("mitonuclear_blue")

## ----qualitative-n------------------------------------------------------------
get_palette("babel", n = 5)

## ----continuous-n-------------------------------------------------------------
get_palette("mitonuclear_blue", n = 3)
get_palette("walter_white", n = 7)

## ----reverse------------------------------------------------------------------
get_palette("mitonuclear_blue", n = 3, reverse = TRUE)

## ----discrete-color, fig.height = 4-------------------------------------------
library(ggplot2)

ggplot(iris, aes(Sepal.Length, Sepal.Width, color = Species)) +
  geom_point(size = 2.5) +
  scale_color_biopalette("three_body") +
  theme_minimal()

## ----discrete-fill, fig.height = 4--------------------------------------------
ggplot(iris, aes(Species, Sepal.Length, fill = Species)) +
  geom_boxplot() +
  scale_fill_biopalette("three_body", guide = "none") +
  theme_minimal()

## ----sequential-gradient, fig.height = 4--------------------------------------
ggplot(faithfuld, aes(waiting, eruptions, fill = density)) +
  geom_raster() +
  scale_fill_biopalette_gradient("mitonuclear_blue") +
  theme_minimal()

## ----diverging-gradient, fig.height = 4---------------------------------------
plot_data <- transform(
  mtcars,
  cylinders = factor(cyl),
  gears = factor(gear),
  mpg_difference = mpg - mean(mpg)
)

ggplot(plot_data, aes(cylinders, gears, fill = mpg_difference)) +
  geom_tile(color = "white", linewidth = 0.5) +
  scale_fill_biopalette_gradient("walter_white", midpoint = 0) +
  labs(x = "Cylinders", y = "Gears", fill = "MPG difference") +
  theme_minimal()

## ----preview, fig.height = 2.5------------------------------------------------
preview_palette("walter_white", plot_type = "rect")

## ----preview-options, fig.height = 2.5----------------------------------------
preview_palette(
  "mitonuclear_orange",
  n = 4,
  reverse = TRUE,
  plot_type = "circle"
)

## ----color-conversion---------------------------------------------------------
rgba <- hex2rgb(c("#1688A7", "#FF450080"))
rgba
rgb2hex(rgba)

