ngonGrob.Rd
Regular polygons with optional rotation, stretching, and aesthetic attributes.
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)
x | x unit |
---|---|
y | y unit |
n | number of vertices |
size | radius of circumscribing circle |
phase | angle in radians of first point relative to x axis |
angle | angle of polygon in radians |
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.
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
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)