Primarily intended for package developers, this function factory is used to create the layer functions in the ggformula package.
Usage
layer_factory(
geom = "point",
position = "identity",
stat = "identity",
interactive = FALSE,
layer_func_interactive = "geom_point",
pre = {
},
aes_form = y ~ x,
extras = alist(),
note = NULL,
aesthetics = aes(),
inherit.aes = TRUE,
check.aes = TRUE,
data = NULL,
required_packages = character(0),
installed_packages = character(0),
layer_fun = if (interactive) {
quo(layer_interactive)
} else {
quo(ggplot2::layer)
},
...
)Arguments
- geom
The geom to use for the layer (may be specified as a string).
- position
The position function to use for the layer (may be specified as a string).
- stat
The stat function to use for the layer (may be specified as a string).
- interactive
A logical indicating whether this is being used to create an interactive layer.
- layer_func_interactive
The function used to create the layer when `interactive“ is TRUE (or a quosure that evaluates to such a function).
- pre
code to run as a "pre-process".
- aes_form
A single formula or a list of formulas specifying how attributes are inferred from the formula. Use
NULLif the function may be used without a formula.- extras
An alist of additional arguments (potentially with defaults)
- note
A note to add to the quick help.
- aesthetics
Additional aesthetics (typically created using
ggplot2::aes()) set rather than inferred from formula.gf_dhistogram()uses this to set the y aesthetic tostat(density), for example.- inherit.aes
A logical indicating whether aesthetics should be inherited from prior layers or a vector of character names of aesthetics to inherit.
- check.aes
A logical indicating whether a warning should be emited when aesthetics provided don't match what is expected.
- data
A data frame or
NULLorNA.- required_packages
A character vector naming packages that must be both installed and attached (via
library()) for the resulting function to work – typically becausegeom/statare given as strings that must be resolved against an attached package's namespace (see the "Extending ggformula" vignette). Each named package is checked beforepreruns, and an informative error is raised if a package is missing or not attached. Usecharacter(0)(the default) if there are no such requirements, or if alayer_funis used that calls the extension package's own function directly (in which case the package usually only needs to be installed, not attached, in which caseinstalled_packagesis the better fit).- installed_packages
A character vector naming packages that must be installed (but need not be attached via
library()) for the resulting function to work – typically becauselayer_funcalls the extension package's own function directly (e.g. viapkg::fun()), which doesn't require the package to be attached. Each named package is checked beforepreruns (alongsiderequired_packages), and an informative error is raised if a package is missing. Usecharacter(0)(the default) if there is no such requirement.- layer_fun
function used to create a layer. The default value is anticipated to work in most (all?) cases.
- ...
Additional arguments.
