Logo

dev-resources.site

for different kinds of informations.

Gráfico de Halteres [R-ggplot2]

Published at
2/23/2024
Categories
r
datascience
ptbr
ggplot2
Author
dscorzoni
Categories
4 categories in total
r
open
datascience
open
ptbr
open
ggplot2
open
Author
9 person written this
dscorzoni
open
Gráfico de Halteres [R-ggplot2]

Neste post vou apresentar um tipo de gráfico que não é muito utilizado mas ainda sim é muito útil para mostrar a diferença entre grupos. O gráfico de halteres serve para mostrar a diferença de métricas entre dois momentos e tem sua aplicação para evidenciar crescimento (ou decrescimento).

Para a construção desse gráfico, será necessário:

  1. A variável Y precisa ser um fator ou qualitativo.
  2. A variável X precisa ser distribuída em 2 colunas, onde uma indica o primeiro estado e a segunda indica o segundo estado.

Vamos ao exemplo a seguir:

Imagine que você trabalha em um setor produtivo importante da empresa e gerencia 5 produtos diferentes. Neste gráfico, você quer comparar os diferentes produtos com as taxas de crescimento de vendas entre 2019 e 2020. Veja os dados a seguir:

# Criando o data-frame com os dados:

crescimento = data.frame(
  produto = c("Produto A","Produto B","Produto C", "Produto D"),
  cresc_2019 = c(0.1, 0.15, 0.07, 0.25),
  cresc_2020 = c(0.15, 0.25, 0.54, 0.35)
)

crescimento
Enter fullscreen mode Exit fullscreen mode
##     produto cresc_2019 cresc_2020
## 1 Produto A       0.10       0.15
## 2 Produto B       0.15       0.25
## 3 Produto C       0.07       0.54
## 4 Produto D       0.25       0.35
Enter fullscreen mode Exit fullscreen mode

Desta forma temos então, como exemplo, que o Produto A cresceu 10% (0.10) em 2019 e 15% (0.15) em 2020. Em seguida vamos construir um gráfico que mostre a evolução destas taxas de crescimento entre produtos entre 2019 e 2020. Você irá precisar do pacote ggalt que você pode instalar com o comando install.packages(“ggalt”) se você não o tiver instalado:

library(tidyverse)
library(ggplot2)
library(ggalt)

crescimento %>%
  ggplot(aes(y = produto, x = cresc_2019, xend = cresc_2020)) +
  geom_dumbbell()
Enter fullscreen mode Exit fullscreen mode

Gráfico de halteres padrão, sem personalização de cores e temas.

Esse gráfico não parece muito interessante nesse momento pois necessita de alguma personalização. Mas alguns insights já podem ser observados como por exemplo o salto de crescimento do Produto C; o Produto D saiu na frente em 2019 mas perdeu em crescimento para o Produto C; o baixo crescimento do Produto A, entre outros insights.

Para personalizar e deixar o gráfico mais interessante, vamos à seguir:

crescimento %>%
  ggplot(aes(y = produto, x = cresc_2019, xend = cresc_2020, group = produto)) +
  geom_dumbbell(alpha = 0.5) +
  scale_x_continuous(label=scales::percent) + # Transformar eixo em %
  geom_point(aes(y = produto, x = cresc_2020, color = "2020")) + # Cores dos pontos 2020
  geom_point(aes(y = produto, x = cresc_2019, color = "2019")) + # Cores dos pontos 2019
  theme_light() + # Tema mais leve/limpo
  labs(
    title = "Taxas de crescimento dos Produtos A-D entre 2019 e 2020.",
    subtitle = "Dados do Departamento de Vendas",
    x = "Taxa de Crescimento (%)",
    y = "",
    color = "Ano de Referência"
  )
Enter fullscreen mode Exit fullscreen mode

Gráfico de halteres personalizado

As cores ajudam muito em identificar casos onde o crescimento foi menor de um ano para o outro (não visível no nosso exemplo), e o tema mais limpo sem cor de fundo exalta de forma melhor os pontos e as linhas.

Por hoje é só! Deixe seu comentário se gostou desse conteúdo e sugestões para próximos artigos.

ptbr Article's
30 articles in total
Favicon
Parte 1: Introdução ao dbt
Favicon
Por que eu não uso bibliotecas de gerenciamento de estado no React
Favicon
C# 13 novidades
Favicon
Estudando - Linguagem Go - Dia 01
Favicon
Estudando - Linguagem Go - Dia 02
Favicon
https://oss.gallery/ - Projetos Open Source
Favicon
Teste em Dados - Básico
Favicon
if-else & early return
Favicon
Do Caos à Clareza: Explorando a Modelagem de Software
Favicon
Paralelismo e Concorrência 101
Favicon
Pyenv para Iniciantes.
Favicon
[pt-BR] Hugo: Criando sua primeira aplicação
Favicon
Introdução ao desenvolvimento Mobile: Guia para Iniciantes
Favicon
Estruture o ser arquivo de design no Figma grátis
Favicon
+ Qualidade no código legado: A Regra do Bom Escoteiro
Favicon
Gráfico de Halteres [R-ggplot2]
Favicon
[pt-BR] Hugo: a forma mais rápida de fazer um site
Favicon
Aprofundando os Conhecimentos em Testes de Software: Diferenciando Tipo e Nível de Teste
Favicon
Mecanismos de Coordenação: Locks, Mutexes e Semáforos
Favicon
10 métodos de strings em JavaScript que você deveria saber
Favicon
Gerando certificado SSL com certbot na Oracle Cloud Infrastructure
Favicon
Como simular APIs online sem configurar um servidor
Favicon
23 métodos de strings que todo desenvolvedor Python deve saber
Favicon
Simular corpos de REQUISIÇÃO automaticamente para acelerar a depuração de APIs
Favicon
Anotando: Plugins da comunidade que utilizo no Obsidian
Favicon
Anotando: Plugins embutidos que utilizo no Obsidian
Favicon
Tomando notas como desenvolvedor de software
Favicon
[pt-BR] Criando um sistema operacional (quase) do zero
Favicon
[ptbr]Fazendo de uma comunidade a sua segunda casa.
Favicon
[ptbr] Entendendo programação reativa e imperativa com Naruto.

Featured ones: