hexbin (version 1.22.0)

hexbin: 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

hexbin(x, y, xbins = 30, shape = 1,
       xbnds = range(x), ybnds = range(y),
       xlab = NULL, ylab = NULL, IDs = FALSE)

Arguments

x, y
vectors giving the coordinates of the bivariate data points to be binned. Alternatively a single plotting structure can be specified: see xy.coords. NA<
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 x and y. If NULL, sensible defaults are used.
IDs
logical indicating if the individual cell IDs should be returned, see also below.

Value

  • an S4 object of class "hexbin". It has the following slots:
  • cellvector of cell ids that can be mapped into the (x,y) bin centers in data units.
  • countvector of counts in the cells.
  • xcmThe x center of mass (average of x values) for the cell.
  • ycmThe y center of mass (average of y values) for the cell.
  • xbinsnumber of hexagons across the x axis. hexagon inner diameter =diff(xbnds)/xbins in x units
  • shapeplot shape which is yheight(inches) / xwidth(inches)
  • xbndsx coordinate bounds for binning and plotting
  • ybndsy coordinate bounds for binning and plotting
  • dimenThe i and j limits of cnt treated as a matrix cnt[i,j]
  • nnumber of (non NA) (x,y) points, i.e., sum(* @count).
  • ncellsnumber of cells, i.e., length(* @count), etc
  • callthe function call.
  • xlab, ylabcharacter strings to be used as axis labels.
  • cIDof class, "integer or NULL", only if IDs was true, an integer vector of length n where cID[i] is the cell number of the i-th original point (x[i], y[i]). Consequently, the cell and count slots are the same as the names and entries of table(cID), see the example.

Details

Returns counts for non-empty 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.

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

Run this code
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)

Run the code above in your browser using DataCamp Workspace