2017-08-01 2 views
1

Je souhaite développer une palette de couleurs qualitative afin d'obtenir une carte raster avec beaucoup plus d'informations.Développer une palette de couleurs qualitative pour le tracé raster R

J'ai utilisé le paquet rasterVis et avec un tracé particulier j'ai besoin de plus de couleurs que la palette Paired.

levelplot(..., 
     par.settings = rasterTheme(region = brewer.pal(10,'Paired')), 
     at=seq(0,5000,500), 
     ...) 

Avec cette configuration je reçois une trame allant de 0 à 200 unités 5000 en le. La fonction rasterTheme m'a permis d'utiliser 10 couleurs discrètes pour l'intrigue basée sur la palette Paired. La palette Paired ne dispose que de 12 couleurs et si je veux 25 couleurs (pour une trame allant de 0 à 5000 par 200 unités), je dois nécessairement utiliser une palette prédéfinie ce qui signifie utiliser une palette séquentielle.

levelplot(..., 
     par.settings = YlOrRdTheme, 
     at=seq(0,5000,200), 
     ...) 

Comment pourrais-je utiliser 25 couleurs différentes pour une palette de couleurs non séquentielle? Dois-je créer une palette de couleurs manuellement ou y a-t-il une fonction pour créer des palettes de couleurs aléatoires?

Merci!

Répondre

0

La bibliothèque randomcoloR a deux fonctions pour créer des couleurs aléatoires avec des arguments pour sélectionner le nombre de couleurs que vous voulez. Exemple utilisant la fonction distinctColorPalette:

# load the library 
library(randomcoloR) 

# define the number of colors 
k <- 25 

# generate the colors 
colors <- distinctColorPalette(k = k) 

# proof - plot the colors 
xleft <- seq(1,k,1) 
xright <- xleft+1 
ybottom <- rep(0,k) 
ytop <- ybottom+1 
plot(1, 1, xlim = c(0, k), type = "n", axes = FALSE, bty = "n", xlab = "", 
    ylab = "") 
rect(xleft = xleft, ybottom = ybottom, xright = xright, ytop = ytop, col = 
    colors, border = "white")