hist2d {gplots} | R Documentation |
Compute and plot a 2-dimensional histogram.
hist2d(x,y=NULL, nbins=200, same.scale=FALSE, na.rm=TRUE, show=TRUE, col=c("black", heat.colors(12)), ... )
x |
either a vector containing the x coordinates or a matrix with 2 columns. |
y |
a vector contianing the y coordinates, not required if `x' is matrix |
nbins |
number of bins in each dimension. May be a scalar or a 2 element vector. Defaults to 200. |
same.scale |
use a single range for x and y. Defaults to FALSE. |
na.rm |
Indicates whether missing values should be removed. Defaults to TRUE. |
show |
Indicates whether the histogram be displayed using
image once it has
been computed. Defaults to TRUE. |
col |
Colors for the histogram. Defaults to "black" for bins containing no elements, a set of 16 heat colors for other bins. |
... |
Parameters passed to the image function. |
This fucntion creates a 2-dimensional histogram by cutting the x and
y dimensions into nbins
sections. A 2-dimensional matrix is
then constucted which holds the counts of the number of observed (x,y) pairs
that fall into each bin. If show=TRUE
, this matrix is then
then passed to image
for display.
A list containing 3 elements:
counts |
Matrix containing the number of points falling into each bin |
x |
lower x limit of each bin |
y |
lower y limit of each bin |
Gregory R. Warnes warnes@bst.rochester.edu
# example data, bivariate normal, no correlation x <- rnorm(2000, sd=4) y <- rnorm(2000, sd=1) # separate scales for each axis, this looks circular hist2d(x,y) # same scale for each axis, this looks oval hist2d(x,y, same.scale=TRUE) # use different # bins in each dimension hist2d(x,y, same.scale=TRUE, nbins=c(100,200) ) # use the hist2d function to create inputs for a perspective plot ... h2d <- hist2d(x,y,show=FALSE, same.scale=TRUE, nbins=c(20,30)) persp( h2d$x, h2d$y, h2d$counts, ticktype="detailed", theta=30, phi=30, expand=0.5, shade=0.5, col="cyan", ltheta=-30) # for contour (line) plot ... contour( h2d$x, h2d$y, h2d$counts, nlevels=4 ) # for a filled contour plot ... filled.contour( h2d$x, h2d$y, h2d$counts, nlevels=4, col=gray((4:0)/4) )