hexbin packge, under the Trellis framework, with associated
utilities. hexbinplot is the high level generic function, with
the "formula" method doing the actual work.
prepanel.hexbinplot and panel.hexbinplot are associated
prepanel and panel functions. hexlegendGrob produces a
suitable legend.hexbinplot(x, data, ...)## S3 method for class 'formula':
hexbinplot(x, data = NULL,
prepanel = prepanel.hexbinplot,
panel = panel.hexbinplot,
groups = NULL,
aspect = "xy",
trans = NULL,
inv = NULL,
colorkey = TRUE,
\dots,
maxcnt,
legend = NULL,
legend.width = TRUE,
subset)
prepanel.hexbinplot(x, y, type = character(0), ...)
panel.hexbinplot(x, y, ..., groups = NULL)
hexlegendGrob(legend = 1.2,
inner = legend / 5,
cex.labels = 1,
cex.title = 1.2,
style = "colorscale",
minarea = 0.05, maxarea = 0.8,
mincnt = 1, maxcnt,
trans = NULL, inv = NULL,
colorcut = seq(0, 1, length = 17),
density = NULL, border = NULL, pen = NULL,
colramp = function(n) { LinGray(n,beg = 90,end = 15) },
...,
vp = NULL,
draw = FALSE)
hexbinplot, the object on which method dispatch
is carried out.
For the "formula" methods, a formula describing the form of
conditioning plot. Formulas that are valid for xyplot are
acceptabpanel.hexbinplot, the y variable.formula method, a data frame containing
values for any variables in the formula, as well as groups
and subset if applicable (using groups currently
causes an error with the default pagplot.hexbinxyplot. aspect="fill" is not
allowed. The current default of "xy" may not always be the
best choice, often aspect=1 will be more reasonable.style is "nested.lattice" or
"nested.centroids". The name legend.width is used to
avoid conflict with the standard trellis argument legend. Istyle is "nested.lattice" or
"nested.centroids"."g" in type adds a reference grid,
"r" adds a regression line (y on x), "smooth" adds a
loess smoothhexlegendGrob is used separatelygplot.hexbin,
xyplot, panel.hexbinplot and
hexbinplot, a grouping variable that is
evaluated in data, and passed on to the panel function.data to produce a logical vector that is used to subset the
data before being used in the plot.hexbinplot produces an object of class "trellis". The
code{update} method can be used to update components of the object and
the print method (usually called by default) will plot it on an
appropriate plotting device. hexlegendGrob produces a
"grob" (grid object).panel.hexbinplot creates a hexbin object
from data supplied to it and plots it using
grid.hexagons. To make panels
comparable, all panels have the same maxcnt value, by default
the maximum count over all panels. This default value can be
calculated only if the aspect ratio is known, and so
aspect="fill" is not allowed. The default choice of aspect
ratio is different from the choice in hexbin (namely,
1), which may sometimes give better results for multi-panel
displays. xbnds and ybnds can be numeric range vectors
as in hexbin, but they can also be character strings specifying
whether all panels should have the same bins. If they are not, then
bins in different panels could be of different sizes, in which case
style="lattice" and style="centroids" should be
interpreted carefully.
The dimensions of the legend and the size of the hexagons therein are
given in absolute units (inches) by legend.width and
inner only when style is "nested.lattice" or
"nested.centroids". For other styles, the dimensions of the
legend are determined relative to the plot. Specifically, the height
of the legend is the same as the height of the plot (the panel and
strip regions combined), and the width is the minimum required to fit
the legend in the display. This is different in some ways from the
hexbin implementation. In particular, the size of the hexagons
in the legend are completely unrelated to the sizes in the panels,
which is pretty much unavoidable because the sizes need not be the
same across panels if xbnds or ybnds is "data".
The size of the hexagons encode information when style is
"lattice" or "centroids", consequently a warning is
issued when a legend is drawn with wither of these styles.
hexbin, xyplotmixdata <-
data.frame(x = c(rnorm(5000),rnorm(5000,4,1.5)),
y = c(rnorm(5000),rnorm(5000,2,3)),
a = gl(2, 5000))
hexbinplot(y ~ x, mixdata, aspect = 1,
trans = sqrt, inv = function(x) x^2)
hexbinplot(y ~ x | a, mixdata)
hexbinplot(y ~ x | a, mixdata, style = "lattice",
xbnds = "data", ybnds = "data")
hexbinplot(y ~ x | a, mixdata, style = "nested.centroids")
hexbinplot(y ~ x | a, mixdata, style = "nested.centroids",
border = FALSE, type = c("g", "smooth"))Run the code above in your browser using DataLab