O ggplot2 permite personalizar as cores das formas com os argumentos:
fill - para áreas preenchidas, barras, caixas ou polígonos. Afeta a cor interna do objeto. Geoms comuns: geom_bar()
, geom_col(),
geom_boxplot(),
geom_histogram(),
geom_area()
e geom_tile()
.
color (ou colour) - para linhas, contornos e pontos. Afeta a borda ou traço do objeto. Geoms comuns: geom_point(),
geom_line()
e geom_text().
Existem diferentes formas de definir uma cor:
NOME - usar o nome da cor (em inglês).
[1] "white" "aliceblue" "antiquewhite"
[4] "antiquewhite1" "antiquewhite2" "antiquewhite3"
[7] "antiquewhite4" "aquamarine" "aquamarine1"
[10] "aquamarine2" "aquamarine3" "aquamarine4"
[13] "azure" "azure1" "azure2"
[16] "azure3" "azure4" "beige"
[19] "bisque" "bisque1" "bisque2"
[22] "bisque3" "bisque4" "black"
[25] "blanchedalmond" "blue" "blue1"
[28] "blue2" "blue3" "blue4"
[31] "blueviolet" "brown" "brown1"
[34] "brown2" "brown3" "brown4"
[37] "burlywood" "burlywood1" "burlywood2"
[40] "burlywood3" "burlywood4" "cadetblue"
[43] "cadetblue1" "cadetblue2" "cadetblue3"
[46] "cadetblue4" "chartreuse" "chartreuse1"
[49] "chartreuse2" "chartreuse3" "chartreuse4"
[52] "chocolate" "chocolate1" "chocolate2"
[55] "chocolate3" "chocolate4" "coral"
[58] "coral1" "coral2" "coral3"
[61] "coral4" "cornflowerblue" "cornsilk"
[64] "cornsilk1" "cornsilk2" "cornsilk3"
[67] "cornsilk4" "cyan" "cyan1"
[70] "cyan2" "cyan3" "cyan4"
[73] "darkblue" "darkcyan" "darkgoldenrod"
[76] "darkgoldenrod1" "darkgoldenrod2" "darkgoldenrod3"
[79] "darkgoldenrod4" "darkgray" "darkgreen"
[82] "darkgrey" "darkkhaki" "darkmagenta"
[85] "darkolivegreen" "darkolivegreen1" "darkolivegreen2"
[88] "darkolivegreen3" "darkolivegreen4" "darkorange"
[91] "darkorange1" "darkorange2" "darkorange3"
[94] "darkorange4" "darkorchid" "darkorchid1"
[97] "darkorchid2" "darkorchid3" "darkorchid4"
[100] "darkred" "darksalmon" "darkseagreen"
[103] "darkseagreen1" "darkseagreen2" "darkseagreen3"
[106] "darkseagreen4" "darkslateblue" "darkslategray"
[109] "darkslategray1" "darkslategray2" "darkslategray3"
[112] "darkslategray4" "darkslategrey" "darkturquoise"
[115] "darkviolet" "deeppink" "deeppink1"
[118] "deeppink2" "deeppink3" "deeppink4"
[121] "deepskyblue" "deepskyblue1" "deepskyblue2"
[124] "deepskyblue3" "deepskyblue4" "dimgray"
[127] "dimgrey" "dodgerblue" "dodgerblue1"
[130] "dodgerblue2" "dodgerblue3" "dodgerblue4"
[133] "firebrick" "firebrick1" "firebrick2"
[136] "firebrick3" "firebrick4" "floralwhite"
[139] "forestgreen" "gainsboro" "ghostwhite"
[142] "gold" "gold1" "gold2"
[145] "gold3" "gold4" "goldenrod"
[148] "goldenrod1" "goldenrod2" "goldenrod3"
[151] "goldenrod4" "gray" "gray0"
[154] "gray1" "gray2" "gray3"
[157] "gray4" "gray5" "gray6"
[160] "gray7" "gray8" "gray9"
[163] "gray10" "gray11" "gray12"
[166] "gray13" "gray14" "gray15"
[169] "gray16" "gray17" "gray18"
[172] "gray19" "gray20" "gray21"
[175] "gray22" "gray23" "gray24"
[178] "gray25" "gray26" "gray27"
[181] "gray28" "gray29" "gray30"
[184] "gray31" "gray32" "gray33"
[187] "gray34" "gray35" "gray36"
[190] "gray37" "gray38" "gray39"
[193] "gray40" "gray41" "gray42"
[196] "gray43" "gray44" "gray45"
[199] "gray46" "gray47" "gray48"
[202] "gray49" "gray50" "gray51"
[205] "gray52" "gray53" "gray54"
[208] "gray55" "gray56" "gray57"
[211] "gray58" "gray59" "gray60"
[214] "gray61" "gray62" "gray63"
[217] "gray64" "gray65" "gray66"
[220] "gray67" "gray68" "gray69"
[223] "gray70" "gray71" "gray72"
[226] "gray73" "gray74" "gray75"
[229] "gray76" "gray77" "gray78"
[232] "gray79" "gray80" "gray81"
[235] "gray82" "gray83" "gray84"
[238] "gray85" "gray86" "gray87"
[241] "gray88" "gray89" "gray90"
[244] "gray91" "gray92" "gray93"
[247] "gray94" "gray95" "gray96"
[250] "gray97" "gray98" "gray99"
[253] "gray100" "green" "green1"
[256] "green2" "green3" "green4"
[259] "greenyellow" "grey" "grey0"
[262] "grey1" "grey2" "grey3"
[265] "grey4" "grey5" "grey6"
[268] "grey7" "grey8" "grey9"
[271] "grey10" "grey11" "grey12"
[274] "grey13" "grey14" "grey15"
[277] "grey16" "grey17" "grey18"
[280] "grey19" "grey20" "grey21"
[283] "grey22" "grey23" "grey24"
[286] "grey25" "grey26" "grey27"
[289] "grey28" "grey29" "grey30"
[292] "grey31" "grey32" "grey33"
[295] "grey34" "grey35" "grey36"
[298] "grey37" "grey38" "grey39"
[301] "grey40" "grey41" "grey42"
[304] "grey43" "grey44" "grey45"
[307] "grey46" "grey47" "grey48"
[310] "grey49" "grey50" "grey51"
[313] "grey52" "grey53" "grey54"
[316] "grey55" "grey56" "grey57"
[319] "grey58" "grey59" "grey60"
[322] "grey61" "grey62" "grey63"
[325] "grey64" "grey65" "grey66"
[328] "grey67" "grey68" "grey69"
[331] "grey70" "grey71" "grey72"
[334] "grey73" "grey74" "grey75"
[337] "grey76" "grey77" "grey78"
[340] "grey79" "grey80" "grey81"
[343] "grey82" "grey83" "grey84"
[346] "grey85" "grey86" "grey87"
[349] "grey88" "grey89" "grey90"
[352] "grey91" "grey92" "grey93"
[355] "grey94" "grey95" "grey96"
[358] "grey97" "grey98" "grey99"
[361] "grey100" "honeydew" "honeydew1"
[364] "honeydew2" "honeydew3" "honeydew4"
[367] "hotpink" "hotpink1" "hotpink2"
[370] "hotpink3" "hotpink4" "indianred"
[373] "indianred1" "indianred2" "indianred3"
[376] "indianred4" "ivory" "ivory1"
[379] "ivory2" "ivory3" "ivory4"
[382] "khaki" "khaki1" "khaki2"
[385] "khaki3" "khaki4" "lavender"
[388] "lavenderblush" "lavenderblush1" "lavenderblush2"
[391] "lavenderblush3" "lavenderblush4" "lawngreen"
[394] "lemonchiffon" "lemonchiffon1" "lemonchiffon2"
[397] "lemonchiffon3" "lemonchiffon4" "lightblue"
[400] "lightblue1" "lightblue2" "lightblue3"
[403] "lightblue4" "lightcoral" "lightcyan"
[406] "lightcyan1" "lightcyan2" "lightcyan3"
[409] "lightcyan4" "lightgoldenrod" "lightgoldenrod1"
[412] "lightgoldenrod2" "lightgoldenrod3" "lightgoldenrod4"
[415] "lightgoldenrodyellow" "lightgray" "lightgreen"
[418] "lightgrey" "lightpink" "lightpink1"
[421] "lightpink2" "lightpink3" "lightpink4"
[424] "lightsalmon" "lightsalmon1" "lightsalmon2"
[427] "lightsalmon3" "lightsalmon4" "lightseagreen"
[430] "lightskyblue" "lightskyblue1" "lightskyblue2"
[433] "lightskyblue3" "lightskyblue4" "lightslateblue"
[436] "lightslategray" "lightslategrey" "lightsteelblue"
[439] "lightsteelblue1" "lightsteelblue2" "lightsteelblue3"
[442] "lightsteelblue4" "lightyellow" "lightyellow1"
[445] "lightyellow2" "lightyellow3" "lightyellow4"
[448] "limegreen" "linen" "magenta"
[451] "magenta1" "magenta2" "magenta3"
[454] "magenta4" "maroon" "maroon1"
[457] "maroon2" "maroon3" "maroon4"
[460] "mediumaquamarine" "mediumblue" "mediumorchid"
[463] "mediumorchid1" "mediumorchid2" "mediumorchid3"
[466] "mediumorchid4" "mediumpurple" "mediumpurple1"
[469] "mediumpurple2" "mediumpurple3" "mediumpurple4"
[472] "mediumseagreen" "mediumslateblue" "mediumspringgreen"
[475] "mediumturquoise" "mediumvioletred" "midnightblue"
[478] "mintcream" "mistyrose" "mistyrose1"
[481] "mistyrose2" "mistyrose3" "mistyrose4"
[484] "moccasin" "navajowhite" "navajowhite1"
[487] "navajowhite2" "navajowhite3" "navajowhite4"
[490] "navy" "navyblue" "oldlace"
[493] "olivedrab" "olivedrab1" "olivedrab2"
[496] "olivedrab3" "olivedrab4" "orange"
[499] "orange1" "orange2" "orange3"
[502] "orange4" "orangered" "orangered1"
[505] "orangered2" "orangered3" "orangered4"
[508] "orchid" "orchid1" "orchid2"
[511] "orchid3" "orchid4" "palegoldenrod"
[514] "palegreen" "palegreen1" "palegreen2"
[517] "palegreen3" "palegreen4" "paleturquoise"
[520] "paleturquoise1" "paleturquoise2" "paleturquoise3"
[523] "paleturquoise4" "palevioletred" "palevioletred1"
[526] "palevioletred2" "palevioletred3" "palevioletred4"
[529] "papayawhip" "peachpuff" "peachpuff1"
[532] "peachpuff2" "peachpuff3" "peachpuff4"
[535] "peru" "pink" "pink1"
[538] "pink2" "pink3" "pink4"
[541] "plum" "plum1" "plum2"
[544] "plum3" "plum4" "powderblue"
[547] "purple" "purple1" "purple2"
[550] "purple3" "purple4" "red"
[553] "red1" "red2" "red3"
[556] "red4" "rosybrown" "rosybrown1"
[559] "rosybrown2" "rosybrown3" "rosybrown4"
[562] "royalblue" "royalblue1" "royalblue2"
[565] "royalblue3" "royalblue4" "saddlebrown"
[568] "salmon" "salmon1" "salmon2"
[571] "salmon3" "salmon4" "sandybrown"
[574] "seagreen" "seagreen1" "seagreen2"
[577] "seagreen3" "seagreen4" "seashell"
[580] "seashell1" "seashell2" "seashell3"
[583] "seashell4" "sienna" "sienna1"
[586] "sienna2" "sienna3" "sienna4"
[589] "skyblue" "skyblue1" "skyblue2"
[592] "skyblue3" "skyblue4" "slateblue"
[595] "slateblue1" "slateblue2" "slateblue3"
[598] "slateblue4" "slategray" "slategray1"
[601] "slategray2" "slategray3" "slategray4"
[604] "slategrey" "snow" "snow1"
[607] "snow2" "snow3" "snow4"
[610] "springgreen" "springgreen1" "springgreen2"
[613] "springgreen3" "springgreen4" "steelblue"
[616] "steelblue1" "steelblue2" "steelblue3"
[619] "steelblue4" "tan" "tan1"
[622] "tan2" "tan3" "tan4"
[625] "thistle" "thistle1" "thistle2"
[628] "thistle3" "thistle4" "tomato"
[631] "tomato1" "tomato2" "tomato3"
[634] "tomato4" "turquoise" "turquoise1"
[637] "turquoise2" "turquoise3" "turquoise4"
[640] "violet" "violetred" "violetred1"
[643] "violetred2" "violetred3" "violetred4"
[646] "wheat" "wheat1" "wheat2"
[649] "wheat3" "wheat4" "whitesmoke"
[652] "yellow" "yellow1" "yellow2"
[655] "yellow3" "yellow4" "yellowgreen"
RGB - escolher a quantidade de vermelho, verde e azul.
Exemplo: rgb(0.3, 0.5, 0.5)
HEX CODE - informar o código hexadecimal da cor.
Exemplo: #704238
Busque no navegador por pick color ou faça o download do seletor de cores Instant Eyedropper (Windows) ou ColorSlurp (Mac).
Paletas
Tipos de paletas:
Sequenciais: são adequadas para dados ordenados que progridem de baixo para alto. Os passos de luz dominam a aparência desses esquemas, com cores claras para valores de dados baixos e cores escuras para valores de dados altos.
Divergentes: colocam igual ênfase nos valores críticos de faixa média e nos extremos em ambas as extremidades do intervalo de dados. A classe crítica ou quebra no meio da lenda é enfatizada com cores claras e extremos baixos e altos são enfatizados com cores escuras que têm tons contrastantes.
Qualitativas: não implicam diferenças de magnitude entre as classes de lendas, e as tonalidades são usadas para criar as principais diferenças visuais entre as classes. Os esquemas qualitativos são mais adequados para representar dados nominais ou categóricos.
# Função para exibir uma paleta
mostrar_paleta <- function (cores) {
n <- length (cores)
barplot (rep (1 , n), col = cores, border = NA , space = 0 , axes = FALSE )
}
Manual
# Cores nomeadas
mostrar_paleta (c ("red" , "darkgreen" , "lightblue" , "orange" ))
# Cores RGB (https://colorhunt.co/palette/a3dc9adee791fff9bdffd6ba)
mostrar_paleta (c (rgb (163 , 220 , 154 , maxColorValue = 255 ), rgb (222 , 231 , 145 , maxColorValue = 255 ), rgb (255 , 249 , 189 , maxColorValue = 255 ), rgb (255 , 214 , 186 , maxColorValue = 255 )))
# Código hexadecimal (https://paletter.beloweb.name/en/leaves-and-flower/)
mostrar_paleta (c ("#ffa9b9" , "#fcd5bd" , "#f2ffbf" , "#d9e99e" , "#c0d27e" ))
Nativas
mostrar_paleta (rainbow (5 ))
mostrar_paleta (heat.colors (5 ))
mostrar_paleta (terrain.colors (5 ))
mostrar_paleta (topo.colors (5 ))
mostrar_paleta (cm.colors (5 ))
No ggplot2:
Discreta
scale_color_manual(values = c(...))
scale_fill_manual(values = c(...))
Contínua
scale_color_gradient(low, high)
scale_fill_gradient(low, high)
scale_color_gradient2(low, mid, high, midpoint = ...)
scale_fill_gradient2(low, mid, high, midpoint = ...)
scale_color_gradientn(colors = c(...))
scale_fill_gradientn(colors = c(...))
Brewer
mostrar_paleta (brewer.pal (5 , "Set2" ))
No ggplot2:
Discretas:
scale_color_brewer(palette = “…”)
scale_fill_brewer(palette = “…”)
Contínuas:
scale_color_distiller(palette = “…”)
scale_fill_distiller(palette = “…”)
Viridis
mostrar_paleta (viridis (5 , option = "plasma" ))
No ggplot2:
Discreta
scale_color_viridis_d()
scale_fill_viridis_d()
scale_color_viridis(option = " ", discrete = TRUE)
scale_fill_viridis(option = " ", discrete = TRUE)
Contínua
scale_color_viridis_c()
scale_fill_viridis_c()
scale_color_viridis(option = " ", discrete = FALSE)
scale_fill_viridis(option = " ", discrete = FALSE)
Paletter
https://emilhvitfeldt.github.io/paletteer/
https://pmassicotte.github.io/paletteer_gallery/
https://r-graph-gallery.com/color-palette-finder
install.packages ("nord" )
install.packages ("fishualize" )
library (paletteer)
mostrar_paleta (nord:: nord ("frost" ))
mostrar_paleta (fishualize:: fish (10 , option = "Acanthisthius_brasilianus" ))
No ggplot2:
Discreta
scale_color_paletteer_d("nationalparkcolors::Acadia")
scale_fill_paletteer_d("nationalparkcolors::Acadia")
paletteer_d("nationalparkcolors::Acadia")
Contínua
scale_color_paletteer_c("ggthemes::Red-Green-White Diverging")
scale_fill_paletteer_c("ggthemes::Red-Green-White Diverging")
paletteer_c("ggthemes::Red-Green-White Diverging")
colorspace
https://colorspace.r-forge.r-project.org/articles/ggplot2_color_scales.html
O pacote oferece paletas qualitativas, sequenciais e divergentes baseadas em HCL, totalmente integradas ao ggplot2. HCL refere-se ao espaço de cor cilíndrico Hue (Matiz), Chroma (Croma) e Lightness (Luminância).
library (colorspace)
hcl_palettes ()
HCL palettes
Type: Qualitative
Names: Pastel 1, Dark 2, Dark 3, Set 2, Set 3, Warm, Cold, Harmonic, Dynamic
Type: Sequential (single-hue)
Names: Grays, Light Grays, Blues 2, Blues 3, Purples 2, Purples 3, Reds 2,
Reds 3, Greens 2, Greens 3, Oslo
Type: Sequential (multi-hue)
Names: Purple-Blue, Red-Purple, Red-Blue, Purple-Orange, Purple-Yellow,
Blue-Yellow, Green-Yellow, Red-Yellow, Heat, Heat 2, Terrain,
Terrain 2, Viridis, Plasma, Inferno, Rocket, Mako, Dark Mint,
Mint, BluGrn, Teal, TealGrn, Emrld, BluYl, ag_GrnYl, Peach,
PinkYl, Burg, BurgYl, RedOr, OrYel, Purp, PurpOr, Sunset,
Magenta, SunsetDark, ag_Sunset, BrwnYl, YlOrRd, YlOrBr, OrRd,
Oranges, YlGn, YlGnBu, Reds, RdPu, PuRd, Purples, PuBuGn, PuBu,
Greens, BuGn, GnBu, BuPu, Blues, Lajolla, Turku, Hawaii, Batlow
Type: Diverging
Names: Blue-Red, Blue-Red 2, Blue-Red 3, Red-Green, Purple-Green,
Purple-Brown, Green-Brown, Blue-Yellow 2, Blue-Yellow 3,
Green-Orange, Cyan-Magenta, Tropic, Broc, Cork, Vik, Berlin,
Lisbon, Tofino
hcl_palettes (plot = TRUE )
mostrar_paleta (hcl.colors (10 , palette = "Cork" ))
No ggplot2:
As escalas são chamadas através do esquema:
scale_aesthetic
_datatype
_colorscale
()
Onde
aesthetic
é o nome da estética (fill, color, colour).
datatype
é o tipo da variável plotada (discrete, continuous, binned).
colorscale
define o tipo de escala de cores usada (qualitative, sequential, diverging).
As escalas qualitativas discretas são todas chamadas via scale_*_discrete_qualitative(palette = “name”) , onde name é o nome da paleta, por exemplo, palette = “Pastel 1” .
As escalas sequenciais discretas são todas chamadas via scale_discrete_sequential(palette = “name”), onde name é o nome da paleta, por exemplo, palette = “Grays”. Aproximações contínuas para as escalas discretas existem e podem ser chamadas via scale_continuous_sequential(palette = “name”)
As escalas discretas divergentes são todas chamadas via scale_discrete_diverging(palette = “name”), onde name é o nome da paleta, por exemplo, palette = “Blue-Red”. Aproximações contínuas para as escalas discretas existem e podem ser chamadas via scale_continuous_diverging(palette = “name”) .
ggsci
https://nanx.me/ggsci/articles/ggsci.html
O pacote oferece uma coleção de paletas de cores de alta qualidade inspiradas em cores usadas em periódicos científicos, bibliotecas de visualização de dados, filmes de ficção científica e programas de TV.
library (ggsci)
# AAAS (Science)
mostrar_paleta (pal_aaas ("default" )(10 ))
# NEJM (New England Journal of Medicine)
mostrar_paleta (pal_nejm ("default" )(8 ))
# Simpsons
mostrar_paleta (pal_simpsons ()(7 ))
Aplicação
Paletas discretas
(p1 <- ggplot (mtcars, aes (x = factor (cyl), y = mpg, fill = factor (cyl))) +
geom_boxplot () +
labs (title = "Paleta padrão" , x = "Cilindros" , y = "Milhas por galão" ) +
theme_minimal () +
theme (plot.title = element_text (hjust = 0.5 ),
legend.position = "none" ))
p1 +
scale_fill_manual (values = c ("red" , "blue" , "green" )) +
ggtitle ("Paleta customizada manual" )
library (RColorBrewer)
p1 +
scale_fill_brewer (palette = "Set2" ) +
ggtitle ("Paleta RColorBrewer Set2" )
library (viridis)
p1 +
scale_fill_viridis_d (option = "mako" ) +
ggtitle ("Paleta viridis mako" )
library (paletteer)
p1 +
scale_fill_paletteer_d ("nationalparkcolors::Acadia" ) +
ggtitle ("Paletteer Acadia" )
library (colorspace)
p1 +
scale_fill_discrete_qualitative (palette = "Cold" ) +
ggtitle ("Colorspace Cold HCL palette's" )
library (ggsci)
p1 +
scale_fill_startrek () +
ggtitle ("Paleta ggsci startrek" )
Paletas contínuas
mtcars$ carro <- rownames (mtcars)
(p2 <- ggplot (mtcars, aes (x = reorder (carro, mpg), y = mpg, fill = mpg)) +
geom_col () +
coord_flip () +
labs (title = "Paleta padrão" , x = "Modelo" , y = "Milhas por galão" ) +
theme_minimal () +
theme (axis.text.x = element_text (angle = 90 , hjust = 1 ),
plot.title = element_text (hjust = 0.5 ),
legend.position = "none" ))
library (RColorBrewer)
p2 +
scale_fill_distiller (palette = "PuBuGn" ) +
ggtitle ("Paleta RColorBrewer PuBuGn" )
library (viridis)
p2 +
scale_fill_viridis_c (option = "D" ) +
ggtitle ("Paleta viridis" )
library (paletteer)
p2 +
scale_fill_paletteer_c ("ggthemes::Orange-Blue Diverging" ) +
ggtitle ("Paletteer ggthemes Orange-Blue" )
library (colorspace)
p2 +
scale_fill_continuous_sequential (palette = "Purple-Blue" ) +
ggtitle ("Colorspace Purple-Blue HCL palette's" )
library (ggsci)
p2 +
scale_fill_tw3 ("teal" ) +
ggtitle ("Paleta ggsci startrek" )
Uma forma de promover a inclusão de pessoas com algum tipo de distúrbio visual é a utilização de paletas de cores acessíveis. Essas paletas são projetadas para garantir boa legibilidade e contraste, independentemente de limitações visuais, como o daltonismo. Um exemplo bastante utilizado é a paleta viridis::viridis , que foi desenvolvida com critérios de perceptibilidade uniforme, garantindo que as diferenças entre as cores sejam facilmente distintas em gráficos, além de manter boa legibilidade tanto em telas quanto em impressões em escala de cinza.
Leitura recomendada: