Trabalhando com cores no R
Flexibilidade na análise de dados
Fala galera, uma coisa interessante de se trabalhar com ferramentas de análise de dados é a possibilidade de customizar ao máximo os elementos visuais que você apresenta em relatórios e gráficos. Estas análises te ajudam a entender o cenário que se está trabalhando. Entre várias possibilidades, uma delas diz respeito à cores, e é por isso que explico rapidamente como trabalhar com cores no R.
Trabalhar com cores no R
Para fugir das cores iniciais de todos os gráficos e relatórios feitos em R, existem várias saídas. Você pode usar padrão RGB e definir os valores de R – red (vermelho), G – green (verde) e B – blue (azul) e então formar a cor que tem interesse. Você pode usar uma paleta de cores já existente. Também pode usar um pacote de cores criado por outros desenvolvedores da linguagem R e expandir seus horizontes.
Cores padrão
Para começar, o padrão inicial de cores do R é expresso nestas cores: Black (preto), red (vermelho), green (verde), blue (azul), cyan, (ciano), magenta (magenta), yellow (amarelo) e gray (cinza). Que podem ser vistas chamando a função palette() e encontrando seu resultado. Estes valores também podem ser visualizados em um gráfico, usando a posição (em ordem) crescente destes valores. Veja o exemplo abaixo sobre isso:
coresBasicas <- c(1:8) barplot(coresBasicas, col=coresBasicas)
Esta geração de cores apresentadas no gráfico de barras, significa que a cor do elemento 1 é a representada por preto, a cor do elemento 2 é representada por vermelho, e assim por diante seguindo os valores apresentados pela função palette().
Se usar um pacote de funções para criar interpolação de cores, como um degradê simples, passando um nome de cor para iniciar o degradê e um para terminar, é possível montar gráficos com cores mais interessantes, como este exemplo abaixo:
Degradê
a <- c(1:10) corDegrade <- colorRampPalette(c("red","yellow")) # Degradê de vermelho para amarelo corDegrade(10) barplot(a, col=corDegrade(10))
No qual a variável corDegrade recebe os elementos interpolados partindo da cor vermelho (red) para a cor amarelo (yellow). Quando chamado o resultado de corDegrade(10), a linguagem R apresenta 10 elementos de interpolação, no padrão RGB, saindo do vermelho em direção ao amarelo.
corDegrade(10) [1] "#FF0000" "#FF1C00" "#FF3800" "#FF5500" "#FF7100" "#FF8D00" "#FFAA00" "#FFC600" [9] "#FFE200" "#FFFF00"
Este mesmo processo pode ser usado para informar o gráfico que deve usar estes valores para plotar cada barra do gráfico através do parâmetro col=corDegrade(10).
Com pacote colorRampPalette
As cores informadas para o pacote colorRampPalette ficam a seu critério, podendo, por exemplo, ser de azul escuro (darkblue) para azul claro (lightblue). Veja como fica no exemplo abaixo:
color <- colorRampPalette(c("darkblue","lightblue")) color(10) barplot(a, col=color(10))
Esta variação de cores não precisa ser necessariamente entre apenas duas cores, você pode colocar algumas a mais, como no exemplo abaixo, que é pra variar entre as cores de Vermelho, Amarelo e Verde:
color <- colorRampPalette(c("red","yellow", "green")) color(10) barplot(a, col=color(10))
Neste caso, quando você olhar os 10 elementos gerados por color(10), encontrará as variações de vemelho passando para amarelo e então para verde.
color(10) [1] "#FF0000" "#FF3800" "#FF7100" "#FFAA00" "#FFE200" "#E2FF00" "#AAFF00" "#71FF00" [9] "#38FF00" "#00FF00"
E o gráfico fica assim:
Com pacote RColorBrewer
Uma terceira forma de se trabalhar com cores é através de pacotes existentes no CRAN, como por exemplo o RcolorBrewer. O pacote foi criado por Cynthia Brewer para usar, principalmente, em cartografia como descrito em http://colorbrewer2.org.
Ou seja, para usar este pacote, é só fazer a instalação e carregá-lo. Em seguida informa qual é a paleta de cores já pré-configuradas pelo pacote e então faz a plotagem dos dados. Veja como usar isso no código a seguir:
install.packages("RColorBrewer") library(RColorBrewer)
Após carregar o pacote, chame o gráfico passando as cores que serão plotadas.
cores <- brewer.pal(10, "Dark2") barplot(a, col=cores)
O resultado é o gráfico com estes padrões de cores:
Neste pacote RcolorBrewer existe uma quantidade interessante de paleta de cores disponíveis. Caso queira visualizar todas as opções, chame a função abaixo:
display.brewer.all()
Este código chama uma renderização de tela com as variações de cores em casa paleta.
Para usar uma destas combinações, basta informar o nome no parâmetro que será consumido na hora de plotar o gráfico. Por exemplo, para ver o gráfico usando as cores configuradas como Set2, use o código a seguir:
cores <- brewer.pal(10, "Set2") barplot(a, col=cores)
Outros exemplos…
Todos estes tipos de cores apresentados funcionam com outros gráficos também. Como exemplo apresentado no post Plotando gráficos de caixas com dados sumarizados de média, mediana e quartis com R você pode mudar o conjunto de cores apresentados, apenas mudando o parâmetro Col que informa as cores a serem utilizadas. Veja abaixo o código e o resultado:
cores <- brewer.pal(3, "Dark2") boxplot(IdadeEsposa~MetodoContraceptivo, data=data, col=(cores), ylab="Idade Mulher", xlab="Método Contraceptivo", main="Boxplot de uso de métodos contraceptivos" )
Onde usamos a paleta Dark2 e conseguimos o resultado:
Ou então com a paleta Paired
cores <- brewer.pal(3, "Paired") boxplot(IdadeEsposa~MetodoContraceptivo, data=data, col=(cores), ylab="Idade Mulher", xlab="Método Contraceptivo", main="Boxplot de uso de métodos contraceptivos" )
Para criar o gráfico abaixo:
Estes padrões de cores de se trabalhar com R podem facilitar muito o entendimento de um gráfico, onde por exemplo, os menores valores podem ser intensidades mais claras e os maiores valores podem ser representados com intensidade mais escura. A mudança de cores é legal, mas acima de tudo, isso facilita a nossa visão do que é importante e o que é menos relevante na hora de analisar um gráfico e tomar uma decisão. Espero que seja útil pra vocês J