Etendre les Palettes de Couleurs dans R



Etendre les Palettes de Couleurs dans R

Cet article décrit comment utiliser la fonction R colorRampPalette() pour étendre les palettes de couleurs. Nous fournirons un exemple pratique avec ggplot2.

Les échelles de couleurs définies dans les packages RColorBrewer et d’autres, tels que viridis, ont un nombre fixe de couleurs.

Par exemple, vous avez 8 couleurs dans la palette RColorBrewer Set2. Par conséquent, si vos données contiennent plus de 8 groupes, ggplot2 retournera un avertissement comme celui-ci:

1 : Dans brewer.pal(n, pal) :
n trop grand, maximum autorisé pour la palette Set2 est de 8
Retourne la palette que vous avez demandée avec autant de couleurs

Par exemple, tapez ce code R:

df <- iris[1:18, ]
df$name <- 1:nrow(df)

library(ggplot2)
ggplot(df) + 
  geom_col(aes(name, Sepal.Length, fill = factor(Sepal.Length))) +
  scale_fill_brewer(palette="Set2") +
  theme_minimal() +
  theme(legend.position = "top")

Une solution est d’utiliser la fonction colorRampPalette() qui peut étendre toute liste de couleurs:

library(RColorBrewer)
# Définissez le nombre de couleurs que vous voulez
nb.cols <- 18
mycolors <- colorRampPalette(brewer.pal(8, "Set2"))(nb.cols)
# Créer un ggplot avec 18 couleurs 
# Utiliser scale_fill_manual
ggplot(df) + 
  geom_col(aes(name, Sepal.Length, fill = factor(Sepal.Length))) +
  scale_fill_manual(values = mycolors) +
  theme_minimal() +
  theme(legend.position = "top")

En conclusion, cet article décrit comment étendre les palettes de couleurs dans R.



Version: English





No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments