hexpolygon
From hexbin v1.26.3
by ORPHANED
Hexagon Coordinates and Polygon Drawing
Simple
Usage
hexcoords(dx, dy = NULL, n = 1, sep = NULL)hexpolygon(x, y, hexC = hexcoords(dx, dy, n = 1), dx, dy = NULL,
fill = 1, border = 0, hUnit = "native", ...)
Arguments
- dx,dy
- horizontal and vertical width of the hexagon(s).
- n
- number of hexagon
repeats . - sep
- separator value to be put between coordinates of different
hexagons. The default,
NULL
doesn't use a separator. - x,y
- numeric vectors of the same length specifying the hexagon centers around which to draw.
- hexC
- a list as returned from
hexcoords()
. Its componentno.sep
determines if grid or traditional graphics are used. The default (via default ofhexcoords
) is now to use grid graphics. - fill,border
- passed to
grid.polygon
(forgrid ). - hUnit
- string or
NULL
determining in which units (x,y) values are. - ...
- further arguments passed to
polygon
(forgraphics ).
Value
hexcoords()
returns a list with componentsx,y numeric vectors of length $n \times 6$ (or $n \times 7$ if sep
is not NULL) specifying the hexagon polygon coordinates (withsep
appended to each 6-tuple).no.sep a logical indicating if sep
wasNULL
.hexpolygon
returns what its lastgrid.polygon(.)
orpolygon(.)
call returns.
See Also
grid.hexagons
which builds on these.
Examples
str(hexcoords(1, sep = NA)) # multiple of (6 + 1)
str(hexcoords(1, sep = NULL))# no separator -> multiple of 6
stopifnot(3 * (6+1) == sapply(hexcoords(2, n = 3, sep = NA)[1:2], length),
6 == sapply(hexcoords(1)[1:2], length))
set.seed(1001)
## hexpolygon()s:
x <- runif(20, -2, 2)
y <- x + rnorm(20)
## 1) traditional 'graphics'
plot(x,y, asp = 1, "plot() + hexpolygon()")
hexpolygon(x,y, dx = 0.1, density = 25, col = 2, lwd = 1.5)
## 2) "grid" :
addBit <- function(bnds, f = 0.05) bnds + c(-f, f) * diff(bnds)
sc <- addBit(rxy <- range(x,y))# same extents (cheating asp=1)
grid.newpage()
pushViewport(plotViewport(.1+c(4,4,2,1), xscale = sc, yscale = sc))
grid.rect()
grid.xaxis()
grid.yaxis()
grid.points(x,y)
hexpolygon(x,y, hexcoords(dx = 0.1, sep=NULL), border = "blue", fill=NA)
popViewport()
Community examples
Looks like there are no examples yet.