Pular para o conteúdo principal

Tutorial de gráficos com ggplot2

Visualização de dados é uma habilidade essencial para cientistas de dados. Ela combina estatística e design de formas significativas e adequadas.
Atualizado 17 de set. de 2026  · 6 min lido

Explorar com IA

ChatGPTClaudePerplexity

Visualização de dados é uma habilidade essencial para cientistas de dados. Ela combina estatística e design de formas significativas e adequadas. Por um lado, a visualização é uma forma de análise gráfica, com ênfase na representação fiel e na interpretação de dados. Por outro, ela depende de boas escolhas de design para deixar os gráficos atraentes e ajudar tanto no entendimento quanto na comunicação dos resultados. Além disso, há um elemento de criatividade, já que, no fundo, visualização de dados é uma forma de comunicação visual.

diagrama de Venn de visualização de dados

É importante entender a diferença entre visualizações exploratórias e explicativas. Visualizações exploratórias são fáceis de gerar, ricas em dados e destinadas a um público técnico e restrito, como você e seus colegas — seu principal objetivo é a análise gráfica dos dados. Visualizações explicativas exigem mais trabalho, são específicas ao conjunto de dados e voltadas a um público mais amplo, por exemplo, em publicações ou apresentações — fazem parte do processo de comunicação. Como cientista de dados, é essencial explorar rapidamente os dados, mas você também vai precisar explicar seus resultados para as partes interessadas. Um bom design começa pensando no público — e às vezes esse público somos nós mesmos.

diagrama de visualização para cientistas de dados

Gráfico de dispersão

Abaixo, temos um conjunto de dados com os pesos médios do cérebro e do corpo de 62 mamíferos.

 MASS::mammals
                              body   brain
Arctic fox                   3.385   44.50
Owl monkey                   0.480   15.50
Mountain beaver              1.350    8.10
Cow                        465.000  423.00
Grey wolf                   36.330  119.50
Goat                        27.660  115.00
Roe deer                    14.830   98.20
...
Pig                        192.000  180.00
Echidna                      3.000   25.00
Brazilian tapir            160.000  169.00
Tenrec                       0.900    2.60
Phalanger                    1.620   11.40
Tree shrew                   0.104    2.50
Red fox                      4.235   50.40 

Para entender a relação entre as variáveis, o primeiro passo mais óbvio é fazer um gráfico de dispersão, como o mostrado abaixo:

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point()
gráfico de dispersão

Dois mamíferos, os elefantes africano e asiático, têm pesos de cérebro e corpo muito grandes, gerando uma assimetria positiva em ambos os eixos.

Modelo linear

Agora, se aplicássemos um modelo linear, seria uma escolha ruim, já que alguns valores extremos têm grande influência.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  stat_smooth(
    method = "lm",
    color = "red",
    se = FALSE
  )
modelo linear no gráfico de dispersão

Aplicar uma transformação log nas duas variáveis permite um ajuste melhor.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  coord_fixed() +
  scale_x_log10() +
  scale_y_log10() +
  stat_smooth(
    method = "lm",
    color = "#C42126",
    se = FALSE,
    size = 1
  )
transformação log em gráfico linear de dispersão

Ou seja, embora tenhamos começado com um gráfico exploratório simples, ele nos informou sobre os dados e levou a um resultado significativo.

Gráficos de Anscombe

Quando pensamos em um modelo linear, como no gráfico anônimo apresentado, imaginamos que estamos descrevendo dados que se parecem com isto.

modelo linear em gráfico anônimo

Mas esse mesmo modelo pode estar descrevendo um conjunto de dados bem diferente, como uma relação parabólica, que pede outro tipo de modelo.

gráfico de relação parabólica

Ou dados em que um valor extremo tem grande efeito — algo que fica claro quando o outlier é removido.

outlier removido em gráfico linear

E às vezes o modelo pode estar descrevendo uma relação onde, na verdade, não há relação alguma — porque alguns valores extremos podem estar incorretos.

valores extremos incorretos em gráfico linear

Se dependêssemos apenas do resultado numérico sem visualizar os dados, teríamos perdido tendências subjacentes distintas e interessantes.

tendências em gráficos lineares

Vemos que a visualização de dados tem base em estatística e análise gráfica, mas também é um processo criativo que envolve alguma dose de tentativa e erro.

Exemplo interativo

No exemplo a seguir, você vai primeiro carregar o pacote ggplot2 usando library(). Depois, vai usar str() para explorar a estrutura do conjunto de dados mtcars.

Por fim, você vai visualizar o ggplot e tentar entender o que o ggplot faz com os dados.

Você vai usar o conjunto de dados mtcars, que traz informações sobre 32 carros de uma edição de 1973 da revista Motor Trend. Esse dataset é pequeno, intuitivo e contém uma variedade de variáveis contínuas e categóricas.

# Load the ggplot2 package
library(ggplot2)

# Explore the mtcars data frame with str()
str(mtcars)

# Execute the following command
p <- ggplot(mtcars, aes(cyl, mpg)) +
  geom_point()

Ao executar o código acima, obtemos o seguinte resultado:

data.frame':    32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
gráfico ggplot

Para saber mais sobre visualização de dados com o ggplot, veja este vídeo do nosso curso Introduction to Data Visualization with ggplot2. E mantenha nossa ggplot2 Cheat Sheet por perto como uma referência prática. 

Este conteúdo foi extraído do curso Introduction to Data Visualization with ggplot2 da DataCamp, por Rick Scavetta.

Tópicos
R
Ciência de dados

Cursos relacionados

Curso

Visualização de Dados Intermediária com ggplot2

4 h
57.2K
Aprenda a usar facetas, sistemas de coordenadas e estatísticas no ggplot2 para criar gráficos explicativos e impactantes.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Como fazer um histograma ggplot2 no R

Aprenda a criar um histograma ggplot2 no R. Crie histogramas no R com base na gramática dos gráficos.

Kevin Babitz

15 min

Tutorial

Tutorial de regressão linear no R

Neste tutorial, você aprenderá os fundamentos de um modelo estatístico muito popular: a regressão linear.

Eladio Montero Porras

15 min

Tutorial

Tutorial de Pipes em R para iniciantes

Saiba mais sobre o famoso operador de pipe %>% e outros pipes no R, por que e como você deve usá-los e quais alternativas você pode considerar!
Karlijn Willems's photo

Karlijn Willems

15 min

Tutorial

Introdução à plotagem com Matplotlib em Python

Este tutorial demonstra como usar o Matplotlib, uma poderosa biblioteca de visualização de dados em Python, para criar gráficos de linha, barra e dispersão com dados do mercado de ações.

Kevin Babitz

25 min

Tutorial

Tutorial do Python Seaborn Line Plot: Criar visualizações de dados

Descubra como usar o Seaborn, uma biblioteca popular de visualização de dados em Python, para criar e personalizar gráficos de linha em Python.
Elena Kosourova's photo

Elena Kosourova

12 min

Tutorial

Gráfico de linha de série temporal do Matplotlib

Este tutorial explora como criar e personalizar gráficos de linha de séries temporais no matplotlib.
Elena Kosourova's photo

Elena Kosourova

8 min

Ver MaisVer Mais