gghighlight() highlights (almost) any geoms according to the given predicates.
gghighlight(
...,
n = NULL,
max_highlight = 5L,
unhighlighted_params = list(),
use_group_by = NULL,
use_direct_label = NULL,
label_key = NULL,
label_params = list(fill = "white"),
keep_scales = FALSE,
calculate_per_facet = FALSE,
line_label_type = c("ggrepel_label", "ggrepel_text", "text_path", "label_path",
"sec_axis"),
unhighlighted_colour = NULL
)Expressions to filter data, which is passed to dplyr::filter().
Number of layers to clone.
Max number of series to highlight.
Aesthetics (e.g. colour, fill, and size) for unhighlighted geoms. Specifying
colour = NULL or fill = NULL will preserve the original colour.
If TRUE, use dplyr::group_by() to evaluate predicate.
If TRUE, add labels directly on the plot instead of using a legend.
Column name for label aesthetics.
A list of parameters, which is passed to ggrepel::geom_label_repel().
If TRUE, keep the original data with ggplot2::geom_blank() so that the
highlighted plot has the same scale with the data.
(Experimental) If TRUE, include the facet variables to calculate the
grouping; in other words, highlighting is done on each facet individually.
(Experimental) Method to add labels (or texts) on the highlighted lines.
"ggrepel_label""ggrepel_text""text_path"Use geomtextpath::geom_textline() for lines and geomtextpath::geom_textpath() for paths.
"label_path"Use geomtextpath::geom_labelline() for lines and geomtextpath::geom_labelpath() for paths.
"sec_axis"Use secondary axis. Please refer to Simon Jackson's blog post for the trick.
(Deprecated) Colour for unhighlighted geoms.
d <- data.frame(
idx = c(1, 1, 1, 2, 2, 2, 3, 3, 3),
value = c(1, 2, 3, 10, 11, 12, 9, 10, 11),
category = rep(c("a", "b", "c"), 3),
stringsAsFactors = FALSE
)
# Highlight the lines whose max values are larger than 10
ggplot(d, aes(idx, value, colour = category)) +
geom_line() + gghighlight(max(value) > 10)
#> label_key: category
# Highlight the points whose values are larger than 10
ggplot(d, aes(idx, value)) +
geom_point() +
gghighlight(value > 10, label_key = category)
# Specify the styles for unhighlighted layer
ggplot(d, aes(idx, value, colour = category)) +
geom_line(linewidth = 5) +
gghighlight(max(value) > 10,
unhighlighted_params = list(linewidth = 1)
)
#> label_key: category