A Importância das Anotações em Gráficos de Dados

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.

Tags: R ggplot2 data-visualization tidyverse hrbrthemes

Publicado em 8-10 19:32