Trabalhando com cores no R

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 que te ajudam a entender o cenário que está trabalhando. Uma destas configurações diz respeito à cores, e é sobre isso que vou falar neste post.

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.

Para começar, o padrão inicial de cores do R é expresso nestas cores: Black (preto), red (vermelho), green3 (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 grafico, 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, signigica 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:

a <- c(1:10)
# Degradê de vermelho para amarelo
corDegrade <- colorRampPalette(c("red","yellow"))
corDegrade(10)

barplot(a, col=corDegrade(10))

 

No qual a variavel 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 sar usado para informar o gráfico que deve usar estes valores para plotar cada barra do gráfico através do parametro col=corDegrade(10).

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:

 

Uma terceira forma de se trabalhar com cores é através de pacotes existentes no CRAN, como o RcolorBrewer, criado por Cynthia Brewer para usar, principalmente, em cartografia como descrito em http://colorbrewer2.org.

Para usar este pacote, é só fazer a instalação e carregar o pacote. 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 cara paleta.

Para usar uma destas combinações, basta informar o nome no parametro 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)

Todos estes tipos de cores apresentados funcionam com outros gráficos também. Como 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 parametro 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. Isso facilita demais 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

Compartilhe o post:
RSS
Follow by Email
Facebook
YOUTUBE
YOUTUBE
LinkedIn

Comentários

comments