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

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

Value

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(gridExtra) # NOT RUN { 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.1, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.