Escolher cores para gráficos e mapas, algumas vezes não é tarefa fácil. Tentar combina-las, aleatóriamente, na maioria das vezes revela-se uma árdua tarefa e as chances de resultados não satisfátorios são grandes. Para não especialistas, a melhor opção parece ser escolher dentre as paletas de cores disponíveis por diversos pacotes. Porém, o problema é que nem sempre uma paleta de um determinado pacote combina com os dados que quer expressar. Assim, a melhor opção parece ser usar as paletas existentes modificando-as e combinando-as, quando necessário. Felizmente, existe um pacote que reune as paletas exsitente em outros pacotes. Trata-se do Paletteer.
Os autores do pacote mantém uma excelente página mostrando todos os palettes existentes no Paletteer.
Neste tutorial pretendo explorar algumas das paletas de cores existêntes bem como a possibilidade de combina-las e modifica-las.
library(paletteer)
## Warning: package 'paletteer' was built under R version 3.6.1
Existem três tipos de paletas: contínuas, discretas e dinâmicas. Cada um deses contém diferentes sub-tipos.
head(palettes_c_names, 10)
## package palette type
## 1 gameofthrones baratheon sequential
## 2 gameofthrones greyjoy sequential
## 3 gameofthrones jon_snow sequential
## 4 gameofthrones lannister sequential
## 5 gameofthrones martell sequential
## 6 gameofthrones stark sequential
## 7 gameofthrones stark2 sequential
## 8 gameofthrones targaryen sequential
## 9 gameofthrones targaryen2 sequential
## 10 gameofthrones tully sequential
#Nomes dos pacotes
unique(palettes_c_names$package)
## [1] "gameofthrones" "ggthemes" "grDevices" "harrypotter"
## [5] "oompaBase" "palr" "pals" "scico"
## [9] "viridis"
#Sub-tipos de paletas contínuas
unique(palettes_c_names$type)
## [1] "sequential" "diverging"
head(palettes_d_names, 10)
## package palette length type
## 1 awtools a_palette 8 qualitative
## 2 awtools a_spalette 4 qualitative
## 3 awtools mpalette 9 qualitative
## 4 awtools ppalette 8 qualitative
## 5 awtools spalette 6 qualitative
## 6 dichromat BrowntoBlue.10 10 diverging
## 7 dichromat BrowntoBlue.12 12 diverging
## 8 dichromat BluetoDarkOrange.12 12 diverging
## 9 dichromat BluetoDarkOrange.18 18 diverging
## 10 dichromat DarkRedtoBlue.12 12 diverging
#Nomes dos pacotes
unique(palettes_d_names$package)
## [1] "awtools" "dichromat" "dutchmasters"
## [4] "ggsci" "ggpomological" "ggthemes"
## [7] "ghibli" "grDevices" "jcolors"
## [10] "LaCroixColoR" "NineteenEightyR" "nord"
## [13] "ochRe" "palettetown" "pals"
## [16] "Polychrome" "quickpalette" "rcartocolor"
## [19] "RColorBrewer" "Redmonder" "RSkittleBrewer"
## [22] "tidyquant" "wesanderson" "yarrr"
#Sub-tipos de paletas discretas
unique(palettes_d_names$type)
## [1] "qualitative" "diverging" "sequential"
head(palettes_dynamic_names, 10)
## package palette length type
## 1 cartography blue.pal 20 sequential
## 2 cartography orange.pal 20 sequential
## 3 cartography red.pal 20 sequential
## 4 cartography brown.pal 20 sequential
## 5 cartography green.pal 20 sequential
## 6 cartography purple.pal 20 sequential
## 7 cartography pink.pal 20 sequential
## 8 cartography wine.pal 20 sequential
## 9 cartography grey.pal 20 sequential
## 10 cartography turquoise.pal 20 sequential
#Nomes dos pacotes
unique(palettes_dynamic_names$package)
## [1] "cartography" "ggthemes_ptol" "ggthemes_solarized"
#Sub-tipos de paletas discretas
unique(palettes_dynamic_names$type)
## [1] "sequential" "qualitative"
# Configurar área do plot
par(mar = c(1,0,1,1))
# Viridis - verificar os paletes disponíveis nestes pacote
palettes_c_names[palettes_c_names$package=="viridis",]
## package palette type
## 201 viridis viridis sequential
## 202 viridis inferno sequential
## 203 viridis magma sequential
## 204 viridis plasma sequential
## 205 viridis cividis sequential
# o argumento n controla o número de cores
# 5 cores
col_1 <- paletteer_c(package = viridis, palette = "viridis", n = 5) # 5 cores
barplot(rep(2, length(col_1)), col = col_1)
# 10 cores
col_2 <- paletteer_c(package = viridis, palette = "cividis", n = 10)
barplot(rep(2, length(col_2)), col = col_2)
# 30 cores
col_3 <- paletteer_c(package = viridis, palette = "plasma", n = 30, direction = -1) # 30 cores
barplot(rep(2, length(col_3)), col = col_3)
# Verificar e guardar código da escala
col_4 <- dput(paletteer_c(package = viridis, palette = "plasma", n = 30, direction = -1))
## c("#F0F921FF", "#F5E926FF", "#FADB24FF", "#FCCC25FF", "#FEBE2AFF",
## "#FDB130FF", "#FCA338FF", "#F9973EFF", "#F58C46FF", "#F0804EFF",
## "#EB7556FF", "#E56A5DFF", "#DE6065FF", "#D7566CFF", "#CF4C74FF",
## "#C7427CFF", "#BE3885FF", "#B52F8CFF", "#AB2494FF", "#A01A9CFF",
## "#9410A2FF", "#8707A6FF", "#7B02A8FF", "#6E00A8FF", "#6001A6FF",
## "#5102A3FF", "#43039EFF", "#340498FF", "#240691FF", "#0D0887FF"
## )
# Selecionar itens
col_4 <- col_4[10:25]
barplot(rep(2, length(col_4)), col = col_4)
library("colorspace")
## Warning: package 'colorspace' was built under R version 3.6.1
#pal <- choose_palette()