A Importância das Anotações em Gráficos de Dados
As anotações em gráficos são componentes essenciais na visualização de dados. Elas transformam gráficos simples em ferramentas poderosas para a transmissão de informações. A atenção média online é de menos de cinco segundos, portanto, se você não conseguir capturar a atenção do público nesse período, provavelmente o perderá. Adicionar anotações precisas pode ajudar significativamente a atrair e manter a atenção do público. Use palavras-chave, formas, cores e outros efeitos visuais para destacar os pontos principais. As anotações são um conceito geral, com inúmeras maneiras de aplicá-las, dependendo do conteúdo. Vamos ver alguns exemplos.
Exemplo 1
Um dos perigos ao criar gráficos de linhas é acabar com um "gráfico de espaguete": muitos grupos podem tornar o gráfico confuso e difícil de ler. Veja o exemplo abaixo:
# Bibliotecas
library(tidyverse)
library(hrbrthemes)
library(babynames)
library(viridis)
# Carregar dados
dados <- babynames %>%
filter(name %in% c("Mary", "Emma", "Ida", "Ashley", "Amanda", "Jessica", "Patricia", "Linda", "Deborah", "Dorothy", "Betty", "Helen")) %>%
filter(sex == "F")
# Plotar gráfico
dados %>%
ggplot(aes(x = year, y = n, group = name, color = name)) +
geom_line() +
scale_color_viridis(discrete = TRUE) +
theme(
legend.position = "none",
plot.title = element_text(size = 14)
) +
ggtitle("Gráfico de espaguete da popularidade de nomes de bebês")
Para destacar um ponto principal, é melhor focar em um único nome, como no exemplo a seguir:
dados %>%
mutate(destaque = ifelse(name == "Amanda", "Amanda", "Outros")) %>%
ggplot(aes(x = year, y = n, group = name, color = destaque, size = destaque)) +
geom_line() +
scale_color_manual(values = c("#69b3a2", "lightgrey")) +
scale_size_manual(values = c(1.5, 0.2)) +
theme(legend.position = "none") +
ggtitle("Popularidade de nomes americanos nos últimos 30 anos") +
geom_label(x = 1990, y = 55000, label = "Amanda atingiu 3550\nbebês em 1970", size = 4, color = "#69b3a2") +
theme(
legend.position = "none",
plot.title = element_text(size = 14)
)
Exemplo 2
Quando você apresenta vários gráficos, é importante manter a consistência nas cores. Por exemplo, considere um relatório com dois gráficos: um gráfico de barras mostrando o custo total de cinco produtos e um gráfico de linhas mostrando a evolução dos lucros desses produtos nos últimos dez anos.
# Bibliotecas
library(tidyverse)
library(hrbrthemes)
library(patchwork)
library(viridis)
# Criar dados
dados <- data.frame(
produto = LETTERS[1:5],
valor = c(10, 14, 18, 6, 15)
)
# Gráfico de barras
grafico_barras <- dados %>%
ggplot(aes(x = produto, y = valor, fill = produto)) +
geom_bar(stat = "identity", width = 0.5) +
scale_fill_viridis(discrete = TRUE) +
ggtitle("Custo dos produtos") +
theme(
plot.title = element_text(size = 12),
legend.position = "none"
) +
xlab("") +
ylab("Custo em M$")
# Criar dados
dados <- data.frame(
ano = rep(seq(1, 10), 5),
produto = rep(LETTERS[1:5], each = 10),
valor = c(
seq(1, 10) + sample(1:3, 10, replace = TRUE),
seq(5, 14) + sample(4:10, 10, replace = TRUE),
seq(10, 1) * 2 + sample(3:5, 10, replace = TRUE),
seq(20, 11) + sample(12:17, 10, replace = TRUE),
seq(1, 10) + sample(40:10, 10)
)
)
# Gráfico de linhas
grafico_linhas <- dados %>%
ggplot(aes(x = ano, y = valor, color = produto)) +
geom_line() +
scale_color_viridis(discrete = TRUE) +
scale_x_continuous(breaks = c(1:10)) +
ggtitle("Lucros dos produtos") +
theme(
plot.title = element_text(size = 12)
) +
xlab("Ano") +
ylab("Lucro em M$")
# Mostrar
grafico_barras + grafico_linhas
Exemplo 3
A proporção de largura para altura de um gráfico pode ter um impacto significativo na interpretação dos dados. Abaixo está um exemplo de um gráfico de linhas que mostra o número anual de manchas solares de 1749 a 1983. O ciclo de atividade solar é evidente, com picos regulares de 11 anos.
# Bibliotecas
library(tidyverse)
library(hrbrthemes)
# Carregar dados
dados <- data.frame(
Ano = as.numeric(time(sunspot.year)),
ManchasSolares = as.numeric(sunspot.year)
)
# Gráfico
dados %>%
ggplot(aes(x = Ano, y = ManchasSolares)) +
geom_line() +
ggtitle("Número de manchas solares por ano") +
theme(
plot.title = element_text(size = 12)
)
Agora, vamos alterar a proporção do gráfico para torná-lo mais largo e baixo, focando no período de 1800 a 1900. Observe o novo resultaod:
dados %>%
filter(Ano > 1800 & Ano < 1900) %>%
ggplot(aes(x = Ano, y = ManchasSolares)) +
geom_line() +
ggtitle("Número de manchas solares por ano") +
theme(
plot.title = element_text(size = 12)
)
Experimenet diferentes proporções para maximizar a utilidade do seu gráfico.