\HeaderA{panel.pairs}{Default Superpanel Function for splom}{panel.pairs}
\aliasA{diag.panel.splom}{panel.pairs}{diag.panel.splom}
\keyword{dplot}{panel.pairs}
\begin{Description}\relax
This is the default superpanel function for \code{splom}.
\end{Description}
\begin{Usage}
\begin{verbatim}

panel.pairs(z,
            panel = "panel.splom",
            lower.panel = panel,
            upper.panel = panel,
            diag.panel = "diag.panel.splom",
            as.matrix = FALSE,
            groups = NULL,
            panel.subscripts,
            subscripts,
            pscales = 5,
            packet.number, panel.number,
            prepanel.limits = function(x) if (is.factor(x)) levels(x) else
            extend.limits(range(as.numeric(x), finite = TRUE)),

            varname.col, varname.cex, varname.font,
            varname.fontfamily, varname.fontface,
            axis.text.col, axis.text.cex, axis.text.font,
            axis.text.fontfamily, axis.text.fontface,
            axis.line.col, axis.line.lty, axis.line.lwd,
            ...)
diag.panel.splom(x = NULL,
                 varname = NULL, limits, at = NULL, lab = NULL,
                 draw = TRUE,
                 varname.col, varname.cex,
                 varname.lineheight, varname.font,
                 varname.fontfamily, varname.fontface,
                 axis.text.col, axis.text.alpha,
                 axis.text.cex, axis.text.font, 
                 axis.text.fontfamily, axis.text.fontface,
                 axis.line.col, axis.line.alpha,
                 axis.line.lty, axis.line.lwd,
                 ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{z}] The data frame used for the plot.
\item[\code{panel, lower.panel, upper.panel}] The panel function used to display each pair of variables. If
specified, \code{lower.panel} and \code{upper.panel} are used for
panels below and above the diagonal respectively.

\item[\code{diag.panel}] The panel function used for the diagonals. See arguments to
\code{diag.panel.splom} to know what arguments this function is
passed when called.

\item[\code{as.matrix}] logical. If \code{TRUE}, the layout of the panels will have origin
on the top left instead of bottom left (similar to
\code{pairs}). This is in essence the same functionality as provided
by \code{as.table} for the panel layout

\item[\code{groups}] Grouping variable, if any 
\item[\code{panel.subscripts}] logical specifying whether the panel function accepts an argument
named \code{subscripts}.

\item[\code{subscripts}] The indices of the rows of \code{z} that are to be
displayed in this (super)panel.

\item[\code{pscales}] Controls axis labels, passed down from \code{splom}.
If \code{pscales} is a single number, it indicates the approximate
number of equally-spaced ticks that should appear on each axis.  If
\code{pscales} is a list, it should have one component for each
column in \code{z}, each of which itself a list with the following
valid components:

\code{at}: a numeric vector specifying tick locations

\code{labels}: character vector labels to go with at

\code{limits}: numeric 2-vector specifying axis limits (should be
made more flexible at some point to handle factors)

These are specifications on a per-variable basis, and used on all
four sides in the diagonal cells used for labelling.  Factor
variables are labelled with the factor names.  Use \code{pscales=0}
to supress the axes entirely.

\item[\code{prepanel.limits}] The \sQuote{regular} high level lattice plots
such as \code{xyplot} use the \code{prepanel} function for deciding
on axis limits from data.  This function serves a similar function,
and works on a per-variable basis, by calculating the limits, which
can be overridden by the corresponding \code{limits} component in
the \code{pscales} list.

\item[\code{x}] data vector corresponding to that row / column (which will be the
same for diagonal \sQuote{panels}).

\item[\code{varname}] (scalar) character string or expression that is to be
written centred within the panel

\item[\code{limits}] numeric of length 2, or, vector of characters, specifying the scale
for that panel (used to calculate tick locations when missing)

\item[\code{at}] locations of tick marks
\item[\code{lab}] optional labels for tick marks
\item[\code{draw}] logical, specifying whether to draw the tick marks and labels. If
\code{FALSE}, only variable names are written

\item[\code{panel.number, packet.number}] integer indices for panel and
packet number (see \code{\LinkA{xyplot}{xyplot}}).  Passed on to
\code{panel}, \code{lower.panel}, \code{upper.panel} and
\code{diag.panel}. 
\item[\code{varname.col, varname.cex, varname.lineheight, varname.font,
varname.fontfamily, varname.fontface}] graphical parameters for the
variable name in each diagonal panel 
\item[\code{axis.text.col, axis.text.cex, axis.text.font,
axis.text.fontfamily, axis.text.fontface, axis.line.col,
axis.line.lty, axis.line.lwd, axis.text.alpha, axis.line.alpha}] graphical parameters for axis tick marks and labels 
\item[\code{...}] extra arguments passed on to \code{panel},
\code{lower.panel}, \code{upper.panel} and \code{diag.panel} from
\code{panel.pairs}.  Currently ignored by \code{diag.panel.splom}. 
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\code{panel.pairs} is the function that is actually passed in as the
\code{panel} function in a trellis object produced by splom (taking
the \code{panel} function as its argument).
\end{Details}
\begin{Author}\relax
Deepayan Sarkar \email{Deepayan.Sarkar@R-project.org}
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{splom}{splom}}
\end{SeeAlso}

