| stat_chull | R Documentation |
Restrict planar data to the boundary points of its convex hull, or of nested convex hulls containing specified fractions of points.
stat_chull(
mapping = NULL,
data = NULL,
geom = "polygon",
position = "identity",
show.legend = NA,
inherit.aes = TRUE,
...
)
stat_peel(
mapping = NULL,
data = NULL,
geom = "polygon",
position = "identity",
num = NULL,
by = 1L,
breaks = c(0.5),
cut = c("above", "below"),
show.legend = NA,
inherit.aes = TRUE,
...
)
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use to display the data for this layer.
When using a
|
position |
A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The
|
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
... |
Additional arguments passed to |
num |
A positive integer; the number of hulls to peel. Pass |
by |
A positive integer; with what frequency to include consecutive
hulls, pairs with |
breaks |
A numeric vector of fractions (between |
cut |
Character; one of |
As used in a ggplot2 vignette,
stat_chull() restricts a dataset with x and y variables to the points
that lie on its convex hull.
Building on this, stat_peel() returns hulls from a convex hull peeling:
a subset of sequentially removed hulls containing specified fractions of
the data.
A ggproto layer.
This statistical transformation is compatible with the convenience function
aes_coord().
Some transformations (e.g. stat_center()) commute with projection to the
lower (1 or 2)-dimensional biplot space. If they detect aesthetics of the
form ..coord[0-9]+, then ..coord1 and ..coord2 are converted to x and
y while any remaining are ignored.
Other transformations (e.g. stat_spantree()) yield different results in a
lower-dimensional biplot when they are computed before versus after
projection. If the stat layer detects these aesthetics, then the
transformation is performed before projection, and the results in the first
two dimensions are returned as x and y.
A small number of transformations (stat_rule()) are incompatible with
these aesthetics but will accept aes_coord() without warning.
These are calculated during the statistical transformation and can be accessed with delayed evaluation.
hullthe position of breaks that defines each hull
fracthe value of breaks that defines each hull
propthe actual proportion of data within each hull
Barnett V (1976) "The Ordering of Multivariate Data". Journal of the Royal Statistical Society: Series A (General), 139(3): 318–344. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2307/2344839")}
Other stat layers:
stat_bagplot(),
stat_center(),
stat_cone(),
stat_depth(),
stat_rule(),
stat_scale(),
stat_spantree()
ggplot(USJudgeRatings, aes(x = INTG, y = PREP)) +
geom_point() +
stat_chull(alpha = .5)
ggplot(USJudgeRatings, aes(x = INTG, y = PREP)) +
stat_peel(
aes(alpha = after_stat(hull)),
breaks = seq(.1, .9, .2)
)
ggplot(USJudgeRatings, aes(x = INTG, y = PREP)) +
stat_peel(
aes(alpha = after_stat(hull)),
num = 6, by = 2, color = "black"
)
# specify fractions of points
ggplot(iris, aes(Sepal.Width, Sepal.Length, color = Species)) +
stat_peel(aes(fill = Species, alpha = after_stat(frac)),
breaks = seq(.1, .9, .2)) +
scale_alpha_continuous(trans = scales::reverse_trans()) +
geom_point()
# specify number of peels
ggplot(iris, aes(Sepal.Width, Sepal.Length, color = Species)) +
stat_peel(fill = "transparent", num = 3) +
geom_point()
# mapping to opacity overrides transparency
ggplot(iris, aes(Sepal.Width, Sepal.Length, color = Species)) +
stat_peel(aes(alpha = after_stat(hull)), fill = "transparent", num = 3) +
geom_point()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.