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.