Paleta Manual

Temos muitas cores disponíveis no R. Podemos fazer uma função que nos retorne algumas dessas cores, e dessas cores amostradas, fazer uma paleta de cores aleatória:

sample_colors <- function(seed = NULL, n = 4){
  if(!is.null(seed)) set.seed(seed)
  sample(colours(distinct = TRUE), n)
}

pal <- sample_colors()
show_col(pal)

palette_fn <- colorRampPalette(pal)
#palette_fn(100)
image(
  x = matrix(1:100, ncol = 1), 
  col = palette_fn(100),
  useRaster = TRUE,
  axes = FALSE
)

ggthemes::canva_palettes

Podemos usar paletas de cores disponíveis no pacote ggthemes, como paletas disponíveis no canvas

pal <- sample(ggthemes::canva_palettes, 1)[[1]]
show_col(pal)

palette_fn <- colorRampPalette(pal)
#palette_fn(100)
image(
  x = matrix(1:100, ncol = 1), 
  col = palette_fn(100),
  useRaster = TRUE,
  axes = FALSE
)

Ao inves de usar as paletas de forma individual, que tal misturarmos as cores presentes em diferentes paletas, dentre as disponíveis no canva?

sample_any_canva <- function(seed = NULL, n = 4){
  if(!is.null(seed)) set.seed(seed)
  sample(unlist(ggthemes::canva_palettes), 5)
}

pal <- sample_any_canva(n = 5)
show_col(pal)

palette_fn <- colorRampPalette(pal)
#palette_fn(100)
image(
  x = matrix(1:100, ncol = 1), 
  col = palette_fn(100),
  useRaster = TRUE,
  axes = FALSE
)