segunda-feira, 17 de janeiro de 2022

Customizando gráficos com a função plot

A função plot do R é a função base para se fazer gráficos. Há outras maneiras, por exemplo utilizando o pacote ggplot2, mas quero focar no mais simples, que é a base do R. Desse modo, vamos aprender a alterar tamanho de fonte (texto) e cor, além de formatar a fonte. Para isso, vamos utilizar um problema exemplo que está presente no livro "Noções de Probabilidade e Estatística", de Marcos Magalhães e Antonio Lima, que reproduzo a seguir:

O departamento de vendas de certa companhia ofereceu um curso de atualização a seus funcionários e, para estudar a eficácia do curso, resolveu compara a nota de teste no curso com o volume de vendas, em milhares de unidades, nos seis meses seguintes ao curso. Os resultados estão na tabela abaixo:

Notas 8 9 7 8 6 8 5 5 6 7 4 7 3 5 3
Vendas 14 13 12 13 10 12 11 11 10 12 10 13 10 12 11

Agora, queremos relacionar as duas variáveis. Para isso, vamos plotar as Vendas em função das Notas.


notas  = c(8,9,7,8,6,8,5,5,6,7,4,7,3,5,3)
vendas = c(14,13,12,13,10,12,11,11,10,12,10,13,10,12,11)

plot(notas,vendas)
Perceba que nosso gráfico está simples demais e meio feio para ser apresentado para alguém, não acha? Vamos melhorar isso.

Primeiro, vamos adicionar um título e um texto para os eixos (chamaremos de "labels"). Para isso, utilizamos os parâmetros da função plot:

  • main: adiciona um título;
  • xlab: texto do eixo x;
  • ylab: texto do eixo y.

plot(notas,vendas,xlab="Notas de teste",ylab="Volume de vendas",
     main = "Relação vendas e notas")
Melhor, não acha? Mas podemos melhorar ainda mais. Vamos aumentar o tamanho de fonte do texto dos eixos. Dessa forma, melhoramos a visualização de texto sem ter que aumentar o gráfico.
Para isso, utilizamos o parâmetro cex da função plot:

  • cex.lab: tamanho de fonte do texto dos eixos;
  • cex.axis: tamanho de fonte dos eixos;
  • cex.main: tamanho de fonte do título.

Vejamos como cada um desses atributos altera o nosso gráfico:

plot(notas,vendas,xlab="Notas de teste",ylab="Volume de vendas",
     main = "Relação vendas e notas",
     cex.lab=1.5)



plot(notas,vendas,xlab="Notas de teste",ylab="Volume de vendas",
     main = "Relação vendas e notas",
     cex.axis=1.5)



plot(notas,vendas,xlab="Notas de teste",ylab="Volume de vendas",
     main = "Relação vendas e notas",
     cex.main=1.5)

Compare esses gráficos com o primeiro. Bem melhor a visualização, certo? Além do tamanho, também podemos alterar o estilo da fonte, utilizando o parâmetro font:

  • font.lab: altera o estilo da fonte do texto dos eixos;
  • font.axis: altera o estilo da fonte dos eixos;
  • font.main: altera o estilo da fonte do título.

Esse parâmetro recebe um valor inteiro para identificar qual estilo o usuário quer, sendo:

  1. texto normal,
  2. negrito;
  3. itálico;
  4. negrito e itálico;
  5. fonte de símbolo.

Vejamos como ficaria nosso gráfico alterando esses atributos:


plot(notas,vendas,xlab="Notas de teste",ylab="Volume de vendas",
     main = "Relação vendas e notas",
     font.lab=2, font.axis=3, font.main=4)

Note que o texto dos eixos está em negrito, os números dos eixos está em itálico e o título está em negrito e itálico. Também perceba que apenas colocando negrito no texto dos eixos temos uma melhor visualização, a leitura fica mais agradável e direta, sem necessidade de aumentar o gráfico. Em outras palavras, o texto fica mais legível.

Também podemos alterar a cor dos textos. Eu particularmente não utilizo muito esse recurso, mas cabe você decidir se vai usar ou não. Para isso, utilizamos o parâmetro col:

  • col.lab: altera a cor do texto dos eixos;
  • col.axis: altera a cor dos números dos eixos;
  • col.main: altera a cor do título.

Vejamos como fica nosso gráfico com essas alterações:

plot(notas,vendas,xlab="Notas de teste",ylab="Volume de vendas",
     main = "Relação vendas e notas",
     col.lab="blue",col.main="red",col.axis="green")
Obviamente, o cuidado na escolha das cores é fundamental. Se escolhemos uma cor muito clara em um fundo claro, podemos tornar o respectivo texto ilegível.

O último parâmetro que vamos discutir nesse post é o pch. Esse parâmetro indica a forma dos pontos no gráfico. Por exemplo, estamos utilizando um círculo sem preenchimento como ponto, mas podemos utilizar triângulo, cruz ou um círculo preenchido, entre outros. A imagem abaixo identifica quais valores correspondem a quais formatos (imagem retirada do help do R - ?pch).


Agora que vimos várias formas de alterar atributos nos gráficos do R, vamos refazer nosso gráfico? Veja como ficou:
plot(notas,vendas,xlab="Notas de teste",ylab="Volume de vendas",
     main = "Relação vendas e notas",
     cex.lab=1.2, cex.axis=1.1,cex.main=1.3,
     font.lab=2,
     pch=16)

Compare esse gráfico com o primeiro que fizemos. Agora temos um gráfico apresentável, não acha? E apenas utilizando a função base do R.

Até a próxima aula!



Nenhum comentário:

Postar um comentário