optShape.Rd
Takes a viewport or a given height and width and returns the shape parameter that will fill the specified plotting region with the appropriately shaped hexagons. If margins are specified the margins are subtracted from height and width before the shape parameter is specified.
optShape(vp, height = NULL, width = NULL, mar = NULL)
a viewport
object, optional see details
the height of the plotting region, can be numeric or units
The width of the plotting region, can be numeric or units
A four element numeric or units vector describing the
margins in the order c(bottom, left, top, right)
a scalar numeric value specifiyng shape
.
If a viewport is given as an argument it should already be pushed on the graphics device or it will have null units and a meaningless shape parameter will be returned.
x <- rgamma(10000,.9)
m <- as.logical(rbinom(10000,1,.17))
x[m] <- -x[m]
y <- rnorm(x,abs(x))
library("grid")
vp <- plotViewport(xscale= range(x)+c(-.5,.5),
yscale= range(y)+c(-.5,.5),
default.units = "native")
grid.newpage()
pushViewport(vp)
grid.rect()
shape <- optShape(vp)
shape
#> [1] 0.8566879
hb <- hexbin(x,y,xbins=40,shape=shape)
grid.hexagons(hb,colramp=BTY)