Bivariate Binning into Hexagon Cells
Description
Creates a "hexbin"
object. Basic components are a cell id and
a count of points falling in each occupied cell.
Basic methods are show()
, plot()
and summary()
, but also erode
.
Usage
1 2 3 
Arguments
x, y 
vectors giving the coordinates of the bivariate data
points to be binned. Alternatively a single plotting structure can
be specified: see 
xbins 
the number of bins partitioning the range of xbnds. 
shape 
the shape = yheight/xwidth of the plotting regions. 
xbnds, ybnds 
horizontal and vertical limits of the binning region in x or y units respectively; must be numeric vector of length 2. 
xlab, ylab 
optional character strings used as labels for

IDs 
logical indicating if the individual cell “IDs” should be returned, see also below. 
Details
Returns counts for nonempty cells only. The plot shape must be maintained for hexagons to appear with equal sides. Some calculations are in single precision.
Note that when plotting a hexbin
object, the
grid package is used.
You must use its graphics (or those from package lattice if you
know how) to add to such plots.
Value
an S4 object of class "hexbin"
.
It has the following slots:
cell 
vector of cell ids that can be mapped into the (x,y) bin centers in data units. 
count 
vector of counts in the cells. 
xcm 
The x center of mass (average of x values) for the cell. 
ycm 
The y center of mass (average of y values) for the cell. 
xbins 
number of hexagons across the x axis. hexagon inner diameter =diff(xbnds)/xbins in x units 
shape 
plot shape which is yheight(inches) / xwidth(inches) 
xbnds 
x coordinate bounds for binning and plotting 
ybnds 
y coordinate bounds for binning and plotting 
dimen 
The i and j limits of cnt treated as a matrix cnt[i,j] 
n 
number of (non NA) (x,y) points, i.e., 
ncells 
number of cells, i.e., 
call 
the function call. 
xlab, ylab 
character strings to be used as axis labels. 
cID 
of class, 
References
Carr, D. B. et al. (1987) Scatterplot Matrix Techniques for Large N. JASA 83, 398, 424–436.
See Also
hcell2xy
gplot.hexbin
,
grid.hexagons
, grid.hexlegend
.
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  set.seed(101)
x < rnorm(10000)
y < rnorm(10000)
(bin < hexbin(x, y))
## or
plot(hexbin(x, y + x*(x+1)/4),
main = "(X, X(X+1)/4 + Y) where X,Y ~ rnorm(10000)")
## Using plot method for hexbin objects:
plot(bin, style = "nested.lattice")
hbi < hexbin(y ~ x, xbins = 80, IDs= TRUE)
str(hbi)
tI < table(hbi@cID)
stopifnot(names(tI) == hbi@cell,
tI == hbi@count)
## NA's now work too:
x[runif(6, 0, length(x))] < NA
y[runif(7, 0, length(y))] < NA
hbN < hexbin(x,y)
summary(hbN)
