registered_patterns() returns a data frame of all available patterns.
has_pattern() returns whether pattern names currently resolve to a pattern
i.e. whether grid.pattern() / patternGrob() could use them.
See register_pattern() for how bare pattern names are resolved.
Value
registered_patterns() returns a data frame with columns
- name
The pattern name.
- owner
The package that registered the pattern or
"R_GlobalEnv"for the user.- kind
Either
"geometry"or"array".- source
One of
"builtin","register_pattern", or"options".- active
Whether the bare
namecurrently resolves to this pattern.
has_pattern() returns a logical vector the same length as pattern.
A bare name with an unresolved conflict (see conflicting_patterns()) returns FALSE.
See also
register_pattern() to register patterns.
Examples
head(registered_patterns())
#> name owner kind source active
#> 1 ambient gridpattern array builtin TRUE
#> 2 aRtsy gridpattern geometry builtin TRUE
#> 3 circle gridpattern geometry builtin TRUE
#> 4 crosshatch gridpattern geometry builtin TRUE
#> 5 fill gridpattern geometry builtin TRUE
#> 6 gradient gridpattern geometry builtin TRUE
has_pattern(c("stripe", "gridpattern::stripe", "polygon"))
#> [1] TRUE TRUE FALSE
create_pattern_polygon <- function(params, boundary_df, aspect_ratio, legend = FALSE) {
grid::polygonGrob(boundary_df$x, boundary_df$y, boundary_df$id,
gp = grid::gpar(fill = params$pattern_fill))
}
# don't clobber any pre-existing "polygon" pattern
run_example <- !has_pattern("polygon")
if (run_example) {
register_pattern("polygon", create_pattern_polygon)
print(subset(registered_patterns(), name == "polygon"))
}
#> name owner kind source active
#> 15 polygon R_GlobalEnv geometry register_pattern TRUE
if (run_example) {
print(has_pattern("polygon"))
}
#> [1] TRUE
if (run_example) {
unregister_pattern("polygon")
}