Introdução à visualização de dados com ggplot2
Rick Scavetta
Founder, Scavetta Academy
| geom_* | ||||||
|---|---|---|---|---|---|---|
| abline | contour | dotplot | jitter | pointrange | ribbon | spoke |
| area | count | errorbar | label | polygon | rug | step |
| bar | crossbar | errorbarh | line | segment | text | |
| bin2d | curve | freqpoly | linerange | qq_line | sf | tile |
| blank | density | hex | map | quantile | sf_label | violin |
| boxplot | density2d | histogram | path | raster | sf_text | vline |
| col | density_2d | hline | point | rect | smooth |
| Tipo de gráfico | Possíveis geometrias |
|---|---|
| Gráficos de dispersão | pontos, dispersão, referência, suavidade, contagem |
| Essential |
|---|
| x,y |
ggplot(iris, aes(x = Sepal.Length,
y = Sepal.Width)) +
geom_point()

| Essential | Opcional |
|---|---|
| x,y | alfa, cor, preenchimento, forma, tamanho, traço |
ggplot(iris, aes(x = Sepal.Length,
y = Sepal.Width,
col = Species)) +
geom_point()

# These result in the same plot!
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_point()
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) +
geom_point(aes(col = Species))
Controle os mapeamentos estéticos de cada camada independentemente:

head(iris, 3) # Raw data
Species Sepal.Length Sepal.Width Petal.Length Petal.Width
1 setosa 5.1 3.5 1.4 0.2
2 setosa 4.9 3.0 1.4 0.2
3 setosa 4.7 3.2 1.3 0.2
iris %>%
group_by(Species) %>%
summarise_all(mean) -> iris.summary
iris.summary # Summary statistics
# A tibble: 3 x 5
Species Sepal.Length Sepal.Width Petal.Length Petal.Width
<fct> <dbl> <dbl> <dbl> <dbl>
1 setosa 5.01 3.43 1.46 0.246
2 versicolor 5.94 2.77 4.26 1.33
3 virginica 6.59 2.97 5.55 2.03
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
# Inherits both data and aes from ggplot()
geom_point() +
# Different data, but inherited aes
geom_point(data = iris.summary, shape = 15, size = 5)


ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_point() +
geom_point(data = iris.summary, shape = 21, size = 5,
fill = "black", stroke = 2)


ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_point(position = "jitter")

Um atalho para geom_point(position = "jitter")
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_jitter()

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_jitter(alpha = 0.6)

shape = 1 é um círculo oco.ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_jitter(shape = 1)

Introdução à visualização de dados com ggplot2