
Interactive smoothed conditional means
Source:R/ggiraph-documentation-with-examples.R
gf_smooth_interactive.RdCreates an interactive plot using ggiraph. This function extends
gf_smooth() with interactive features like tooltips and clickable elements.
Usage
gf_smooth_interactive(
object = NULL,
gformula = NULL,
data = NULL,
...,
method = "auto",
formula = y ~ x,
se = FALSE,
method.args,
n = 80,
span = 0.75,
fullrange = FALSE,
level = 0.95,
xlab,
ylab,
title,
subtitle,
caption,
stat = "smooth",
position = "identity",
show.legend = NA,
show.help = NULL,
inherit = TRUE,
environment = parent.frame()
)Arguments
- object
When chaining, this holds an object produced in the earlier portions of the chain. Most users can safely ignore this argument. See details and examples.
- gformula
A formula with shape
y ~ x. Faceting can be achieved by including|in the formula.- data
A data frame with the variables to be plotted.
- ...
Additional arguments passed to the underlying interactive geom. This is where ggiraph's interactive aesthetics are supplied, including
tooltip(text shown on hover),data_id(identifiers used for interactive selection), andonclick(JavaScript run on click).- method
Smoothing method (function) to use, accepts either
NULLor a character vector, e.g."lm","glm","gam","loess"or a function, e.g.MASS::rlmormgcv::gam,stats::lm, orstats::loess."auto"is also accepted for backwards compatibility. It is equivalent toNULL. Formethod = NULLthe smoothing method is chosen based on the size of the largest group (across all panels).stats::loess()is used for less than 1,000 observations; otherwisemgcv::gam()is used withformula = y ~ s(x, bs = "cs")withmethod = "REML". Somewhat anecdotally,loessgives a better appearance, but is \(O(N^{2})\) in memory, so does not work for larger datasets. If you have fewer than 1,000 observations but want to use the samegam()model thatmethod = NULLwould use, then setmethod = "gam", formula = y ~ s(x, bs = "cs").- formula
Formula to use in smoothing function, eg.
y ~ x,y ~ poly(x, 2),y ~ log(x).NULLby default, in which casemethod = NULLimpliesformula = y ~ xwhen there are fewer than 1,000 observations andformula = y ~ s(x, bs = "cs")otherwise.- se
Display confidence band around smooth? (
TRUEby default, seelevelto control.)- method.args
List of additional arguments passed on to the modelling function defined by
method.- n
Number of points at which to evaluate smoother.
- span
Controls the amount of smoothing for the default loess smoother. Smaller numbers produce wigglier lines, larger numbers produce smoother lines. Only used with loess, i.e. when
method = "loess", or whenmethod = NULL(the default) and there are fewer than 1,000 observations.- fullrange
If
TRUE, the smoothing line gets expanded to the range of the plot, potentially beyond the data. This does not extend the line into any additional padding created byexpansion.- level
Level of confidence band to use (0.95 by default).
- xlab
Label for x-axis. See also
gf_labs().- ylab
Label for y-axis. See also
gf_labs().- title
Title, sub-title, and caption for the plot. See also
gf_labs().- subtitle
Title, sub-title, and caption for the plot. See also
gf_labs().- caption
Title, sub-title, and caption for the plot. See also
gf_labs().- stat
A character string naming the stat used to make the layer.
- position
Either a character string naming the position function used for the layer or a position object returned from a call to a position function.
- show.legend
A logical indicating whether this layer should be included in the legends.
NA, the default, includes layer in the legends if any of the attributes of the layer are mapped.- show.help
If
TRUE, display some minimal help.- inherit
A logical indicating whether default attributes are inherited.
- environment
An environment in which to look for variables not found in
data.
Value
A gg object that can be displayed with gf_girafe().
Additional interactive features
onclick: JavaScript code (as character string) executed when clicking elements.Additional ggiraph aesthetics may be available depending on the geom.
Examples
# Interactive smooth line with confidence band
mtcars |>
gf_point_interactive(mpg ~ wt, alpha = 0.5) |>
gf_smooth_interactive(tooltip = ~ "loess line with confidence band", se = TRUE, alpha = 0.5) |>
gf_girafe()
#> `geom_smooth()` using method = 'loess'