Emula la tavolozza colori predefinita ggplot2


Answers

Questo è il risultato di

library(scales)
show_col(hue_pal()(4))

show_col(hue_pal()(3))

Question

Quale funzione posso utilizzare per emulare la tavolozza colori predefinita di ggplot2 per un numero desiderato di colori. Ad esempio, un input di 3 produrrebbe un vettore di caratteri di colori HEX con questi colori:




Dalla pagina 106 del libro ggplot2 di Hadley Wickham:

Lo schema di colori predefinito, scale_colour_hue seleziona tonalità uniformemente distanziate attorno alla ruota dei colori hcl.

Con un po 'di reverse engineering puoi costruire questa funzione:

ggplotColours <- function(n = 6, h = c(0, 360) + 15){
  if ((diff(h) %% 360) < 1) h[2] <- h[2] - 360/n
  hcl(h = (seq(h[1], h[2], length = n)), c = 100, l = 65)
}

Dimostrare questo in barplot:

y <- 1:3
barplot(y, col = ggplotColours(n = 3))