A.4 Usando o ggplot2

O pacote ggplot2 funciona de maneira diferente da função plot() do pacote base do R, pois trabalha em camadas. Similarmente ao pacote dplyr, começamos com o data.frame que desejamos plotar, contudo, passos posteriores são bem diferentes, e se assemelham mais ao uso do operador %>% do pacote magrittr. No ggplot2, utilizamos o operador + para adicionar as camadas.

Tabela A.2: Principais funções do pacote R ggplot2.
Função O que faz
ggplot() Recebe os dados a serem plotados
geom_point() Plota um gráfico de barra
geom_boxplot() Plota um diagrama de caixa
aes() Estética do gráfico
xlab() Modifica o texto do eixo X
ylab() Modifica o texto do eixo Y
ggtitle() Adiciona o título do gráfico
facet_wrap() Divide os gráficos segundo categoria especificada

As principais funções do pacote estão exemplificadas na tabela A.2. A função básica do pacote é ggplot(): nela, informamos nosso conjunto de dados no primeiro argumento. Após o primeiro passo, fazemos uso de funções para plotar dados em forma de um espalhamento (scatterplots usando a função geom_point()), gráficos de barra (geom_bar), diagramas de caixa (geom_boxplot()), entre outras. Vejamos na prática como funciona:

# um grafico de espalhamento da variavel Sepal.Length no eixo X e Petal.Length no eixo Y utilizando o conjunto de dados iris
ggplot(iris) +
  geom_point(aes(x = Sepal.Length, y = Petal.Length))

Dentro das funções que plotam os dados efetivamente (e.g., geom_point(), geom_boxplot()), devemos sempre usar a função aes(): nela inserimos os eixos x e y, informando sempre o nome das colunas sem aspas. Se quisermos colorir os pontos em função das espécies, fazemos:

ggplot(iris) +
  geom_point(aes(x = Sepal.Length, y = Petal.Length, color = Species))

Por trabalhar em camadas, podemos atribuir os resultados dessas operações a objetos. Por exemplo, vamos passar o resultado da ação acima para um objeto meugrafico e mudar os temas do gráfico:

meugrafico <- ggplot(iris) +
  geom_point(aes(x = Sepal.Length, y = Petal.Length, color = Species))
meugrafico + theme_bw() # Existem varios outros temas pre-definidos no ggplot2

meugrafico + theme_minimal() # Para utilizar os outros temas, e so verificar o help de funcoes que comecam com theme_OUTROSnomes

meugrafico + theme_void() # - existem, por exemplo, os temas theme_grey, theme_classic, theme_light etc

Podemos facilmente também gerar um gráfico para cada espécie utilizando a função facet_wrap():

meugrafico + facet_wrap(~Species)

Não temos a intenção de cobrir todo o uso do pacote ggplot2 nesta postagem. Existem muitas páginas com excelentes tutoriais na internet que podem ser visitadas para um maior aprofundamento nas ferramentas deste pacote (vejam abaixo na seção Para saber mais). Queremos aqui demonstrar o uso concomitante do pacote ggplot2 dentro de uma linha de trabalho associada ao pacote dplyr. Passemos para a seção abaixo.