geom_fm | R Documentation |
geom_fm
is a generic function for generating geomes from various kinds of
fmesher
objects, e.g. fm_segm
and fm_mesh_2d
.
The function invokes particular methods which depend
on the class of the data
argument.
Requires the ggplot2
package.
Note: geom_fm
is not yet a "proper" ggplot2
geom method; the interface
may therefore change in the future.
geom_fm(mapping = NULL, data = NULL, ...)
## S3 method for class 'fm_mesh_2d'
geom_fm(
mapping = NULL,
data = NULL,
mapping_int = NULL,
mapping_bnd = NULL,
defs_int = NULL,
defs_bnd = NULL,
...,
crs = NULL
)
## S3 method for class 'fm_segm'
geom_fm(mapping = NULL, data = NULL, ..., crs = NULL)
## S3 method for class 'fm_mesh_1d'
geom_fm(
mapping = NULL,
data = NULL,
...,
xlim = NULL,
basis = TRUE,
knots = TRUE,
derivatives = FALSE,
weights = NULL
)
mapping |
an object for which to generate a geom. |
data |
an object for which to generate a geom. |
... |
Arguments passed on to the geom method. |
mapping_int |
|
mapping_bnd |
|
defs_int |
additional settings for interior constraint edges. |
defs_bnd |
additional settings for boundary edges. |
crs |
Optional crs to transform the object to before plotting. |
xlim |
numeric 2-vector; specifies the interval for which to compute
functions. Default is |
basis |
logical; if |
knots |
logical; if |
derivatives |
logical; if |
weights |
numeric vector; if provided, draw weighted basis functions and the resulting weighted sum. |
A combination of ggplot2
geoms.
geom_fm(fm_mesh_2d)
: Converts an fm_mesh_2d()
object to sf
with fm_as_sfc()
and uses
geom_sf
to visualize the triangles and edges.
geom_fm(fm_segm)
: Converts an fm_segm()
object to sf
with fm_as_sfc()
and uses
geom_sf
to visualize it.
geom_fm(fm_mesh_1d)
: Evaluates and plots the basis functions defined by an fm_mesh_1d()
object.
ggplot() +
geom_fm(data = fmexample$mesh)
m <- fm_mesh_2d(
cbind(10, 20),
boundary = fm_extensions(cbind(10, 20), c(25, 65)),
max.edge = c(4, 10),
crs = fm_crs("+proj=longlat")
)
ggplot() +
geom_fm(data = m)
ggplot() +
geom_fm(data = m, crs = fm_crs("epsg:27700"))
# Compute a mesh vertex based function on a different grid
px <- fm_pixels(fm_transform(m, fm_crs("mollweide_globe")))
px$fun <- fm_evaluate(m,
loc = px,
field = sin(m$loc[, 1] / 5) * sin(m$loc[, 2] / 5)
)
ggplot() +
geom_tile(aes(geometry = geometry, fill = fun),
data = px,
stat = "sf_coordinates"
) +
geom_fm(
data = m, alpha = 0.2, linewidth = 0.05,
crs = fm_crs("mollweide_globe")
)
m <- fm_mesh_1d(c(1, 2, 4, 6, 10), boundary = c("n", "d"), degree = 2)
ggplot() +
geom_fm(data = m, weights = c(4, 2, 4, -1))
m <- fm_mesh_1d(
c(1, 2, 3, 5, 7),
boundary = c("dirichlet", "neumann"),
degree = 2
)
ggplot() +
geom_fm(data = m)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.