Skip to contents

For technical reasons related to how ggplot2 implements layers, there is no single class from which all valid ggplot2 layers and lists of layers inherit. Thus, ggblend operations supports a variety of "layer-like" objects, documented here (see Details).

Usage

is_layer_like(x)

as_layer_like(x)

# S3 method for default
as_layer_like(x)

# S3 method for LayerInstance
as_layer_like(x)

# S3 method for list
as_layer_like(x)

# S3 method for layer_list
as_layer_like(x)

Arguments

x

A layer-like object. See Details.

Value

For is_layer_like(), a logical: TRUE if x is layer-like, FALSE otherwise.

For as_layer_like(), a "LayerInstance" or a layer_list().

Details

ggblend operations can be applied to several ggplot2::layer()-like objects, including:

  • objects of class "LayerInstance"; e.g. stats and geoms.

  • list()s of layer-like objects.

  • layer_list()s, which are a more type-safe version of list()s of layer-like objects.

Anywhere in ggblend where a function parameter is documented as being layer-like, it can be any of the above object types.

Functions

  • is_layer_like(): checks if an object is layer-like according to ggblend.

  • as_layer_like(): validates that an object is layer-like and converts it to a "LayerInstance" or layer_list().

Examples

library(ggplot2)

is_layer_like(geom_line())
#> [1] TRUE
is_layer_like(list(geom_line()))
#> [1] TRUE
is_layer_like(list(geom_line(), scale_x_continuous()))
#> [1] TRUE
is_layer_like(list(geom_line(), "abc"))
#> [1] FALSE