geom_regon {ggforce} | R Documentation |
Draw regular polygons by specifying number of sides
Description
This geom makes it easy to construct regular polygons (polygons where all sides and angles are equal) by specifying the number of sides, position, and size. The polygons are always rotated so that they "rest" on a flat side, but this can be changed with the angle aesthetic. The size is based on the radius of their circumcircle and is thus not proportional to their area.
Usage
stat_regon(
mapping = NULL,
data = NULL,
geom = "shape",
position = "identity",
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
...
)
geom_regon(
mapping = NULL,
data = NULL,
stat = "regon",
position = "identity",
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
...
)
Arguments
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, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
... |
Other arguments passed on to |
stat |
The statistical transformation to use on the data for this
layer, either as a |
Aesthetics
geom_regon understand the following aesthetics (required aesthetics are in bold):
-
x0 x coordinate
-
y0 y coordinate
-
sides the number of sides for regon
-
r the ratio of regon with respect to plot
-
angle regon rotation angle (unit is radian)
color
fill
size
linetype
alpha
lineend
Computed variables
- x, y
The coordinates for the corners of the polygon
Examples
ggplot() +
geom_regon(aes(x0 = runif(8), y0 = runif(8), sides = sample(3:10, 8),
angle = 0, r = runif(8) / 10)) +
coord_fixed()
# The polygons are drawn with geom_shape, so can be manipulated as such
ggplot() +
geom_regon(aes(x0 = runif(8), y0 = runif(8), sides = sample(3:10, 8),
angle = 0, r = runif(8) / 10),
expand = unit(1, 'cm'), radius = unit(1, 'cm')) +
coord_fixed()