gghighlight

O gghighlight é uma das extensões do ggplot2 que eu mais gosto. Este post serve como uma pequena introdução é apresentação do que é possível fazer com ele.

Como próprio nome indica, o gghighlight serve para realçar partes de um gráfico feito com o ggplot.

Realçando pontos

Muitas vezes temos um gráfico de dispersão em que queremos realçar alguns pontos de acordo com alguma característica. Por exemplo, abaixo estamos realçando os pontos que possuem carat > 4, além disso colocamos uma label em cada um.

library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2     ✓ purrr   0.3.4
## ✓ tibble  3.0.4     ✓ dplyr   1.0.2
## ✓ tidyr   1.1.2     ✓ stringr 1.4.0
## ✓ readr   1.4.0     ✓ forcats 0.5.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
diamonds %>% 
  ggplot(aes(x = carat, y = price)) +
  geom_point() +
  gghighlight::gghighlight(carat > 4, label_key = carat)

Também é possível configurar a cor dos pontos que serão realçados e dos que não serão, bem como o estilo dos labels.

diamonds %>% 
  ggplot(aes(x = carat, y = price)) +
  geom_point(color = "red") +
  gghighlight::gghighlight(
    carat > 4, 
    label_key = carat, 
    unhighlighted_colour = "black",
    label_params = list(size = 10, fill = "grey")
  )
## Warning: The `unhighlighted_colour` argument of `gghighlight()` is deprecated as of gghighlight 0.2.0.
## Please use the `unhighlighted_params` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.

Realçando linhas

Com o gghighlight também é possível realçar linhas em um gráfico que possui varias linhas. Isso é interessante quando você quer ver como uma série temporal se compara com relação à um conjunto de outras séries.

d <- cranlogs::cran_downloads(
  packages = tidyverse::tidyverse_deps()$package,
  from = "2019-01-01", to = "2019-12-31"
)

No gráfico a seguir mostramos o número de downloads de cada um dos pacotes do tidyverse no ano de 2019. Uma das séries se destaca por mudar de padrão no meio do ano. Usamos o gghighlight para destacá-la no gráfico.

d %>% 
  ggplot(aes(x = date, y = count, group = package)) +
  geom_line() +
  gghighlight::gghighlight(max(count) > 100000)
## label_key: package

É isso aí! Esse pacote existe e é muito útil! A documentação é bem boa também.

comments powered by Disqus