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.
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:
<- ggplot(iris) +
meugrafico geom_point(aes(x = Sepal.Length, y = Petal.Length, color = Species))
+ 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 meugrafico
Podemos facilmente também gerar um gráfico para cada espécie utilizando a função facet_wrap()
:
+ facet_wrap(~Species) meugrafico
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.