O que é e como usar um Boxplot

Série: gráficos para variáveis numéricas

Wlademir Prates

O que você encontra aqui?

Neste vídeo …

  1. O que é Boxplot?
  2. Um exemplo com o rbase
  3. Criando versões interativas para usar em relatórios corporativos ou dashboards. Fique até o final!

O que é Boxplot?

  • Gráfico para variáveis numéricas (ou quantitativas) contínuas.

  • Utiliza o chamado esquema dos cinco números (mínimo, primeiro quartil, mediana, terceiro quartil e máximo).

  • Os outliers podem ser escondidos ou plotados junto.

Dados para o exemplo

O dado deste exemplo está no repositório https://github.com/wrprates/open-data.

library(readr)
data <- readr::read_csv(
  "https://raw.githubusercontent.com/wrprates/open-data/master/ibm_hr_emplyee_attrition.csv"
)

Primeiras linhas do dado:

Veja mais: Vídeo de dataset para RH no canal.

Vamos aos exemplos …

Boxplot com rbase

boxplot(data$MonthlyIncome)

Boxplot com ggplot2

library(ggplot2)
data |>
  ggplot(aes(y = MonthlyIncome)) + 
    geom_boxplot()

Boxplot com highcharts

library(highcharter)
highchart() %>%
  hc_add_series_list(data_to_boxplot(data, MonthlyIncome))

Boxplot com echarts

library(echarts4r)
data |>
  e_chart() |>
  e_boxplot(MonthlyIncome)

Enfeitando um pouco … 😁

Requisitos mínimos para um boxplot bacana:

  • Título e subtítulo (opcional).
  • Se interativo, tooltip quando passa o mouse.
  • Seguir um padrão de cores (ex.: paleta da empresa ou do cliente).

ggplot2 customizado

ggplot_customizado <- data |>
  ggplot(aes(y = MonthlyIncome)) + 
  geom_boxplot(color = "#4292b5") +
  theme(
    panel.background = element_rect(
      fill='white',
      colour='white'
    ),
    panel.grid.major = element_line(
      colour = "#e8e9ed"
    )
  ) +
  ggtitle(
    "Renda mensal",
    subtitle = "Em milhares de USD."
  )

highcharts customizado

highchart_customizado <- highchart() |>
  hc_xAxis(type = "category") |>
  hc_add_series_list(
    data_to_boxplot(
      data,
      MonthlyIncome,
      name = "Monthly Income",
      add_outliers = TRUE
    )
  ) |>
  hc_title(
    text = "Renda mensal"
  ) |>
  hc_subtitle(text = "Em milhares de USD.") |>
  hc_colors("#4292b5")

echarts customizado

echart_customizado <- data |>
  e_chart() |>
  e_boxplot(MonthlyIncome) |>
  e_color(color = "#4292b5") |>
  e_tooltip() |>
  e_title(
    text = "Renda mensal",
    subtext = "Em milhares de USD."
  )

Adicionando mais categorias ao boxplot

highcharts - mais de um grupo

echarts - mais de um grupo

O que é e como usar um Boxplot

Série: gráficos para variáveis numéricas

Obrigado!