# ngonGrob

0th

Percentile

##### Regular polygon grob

Regular polygons with optional rotation, stretching, and aesthetic attributes.

##### Usage
ngonGrob(x, y, n = 5, size = 5, phase = pi/2, angle = 0, ar = 1,
gp = gpar(colour = "black", fill = NA, linejoin = "mitre"), ...,
position.units = "npc", size.units = "mm")grid.ngon(...)ellipseGrob(x, y, size = 5, angle = pi/4, ar = 1, n = 50,
gp = gpar(colour = "black", fill = NA, linejoin = "mitre"), ...,
position.units = "npc", size.units = "mm")grid.ellipse(...)polygon_regular(n = 5, phase = 0)
##### Arguments
x
x unit
y
y unit
n
number of vertices
size
phase
angle in radians of first point relative to x axis
angle
ar
aspect ratio
gp
gpar
...
further parameters passed to polygonGrob
position.units
default units for the positions
size.units
grid units for the sizes

• A grob.

##### Functions

• ngonGrob: return a polygon grob
• grid.ngon: draw a polygon grob on the current device
• ellipseGrob: return an ellipse grob
• grid.ellipse: draw an ellipse grob
• polygon_regular: return the x,y coordinates of a regular polygon inscribed in the unit circle

##### Aliases
• ellipseGrob
• grid.ellipse
• grid.ngon
• ngonGrob
• polygon_regular
##### Examples
library(grid)
N <- 5
xy <- polygon_regular(N)*2

# draw multiple polygons
g <- ngonGrob(unit(xy[,1],"cm") + unit(0.5,"npc"),
unit(xy[,2],"cm") + unit(0.5,"npc"),
n = seq_len(N) + 2, gp = gpar(fill=1:N))

grid.newpage()
grid.draw(g)

# rotated and stretched
g2 <- ngonGrob(unit(xy[,1],"cm") + unit(0.5,"npc"),
unit(xy[,2],"cm") + unit(0.5,"npc"),
n = seq_len(N) + 2, ar = seq_len(N),
phase = 0, angle = pi/(seq_len(N) + 2),
size = 1:N + 5)

grid.newpage()
grid.draw(g2)

# ellipse
g3 <- ellipseGrob(unit(xy[,1],"cm") + unit(0.5,"npc"),
unit(xy[,2],"cm") + unit(0.5,"npc"),
angle = -2*seq(0,N-1)*pi/5 + pi/2,
size = 5, ar = 1/3)

grid.newpage()
grid.draw(g3)
Documentation reproduced from package gridExtra, version 2.2.0, License: GPL (>= 2)

### Community examples

Looks like there are no examples yet.