\Header{bxp}{Box Plots from Summaries}
\keyword{aplot}{bxp}
\begin{Description}\relax
\code{bxp} draws box plots based on the given summaries in \code{z}.
It is usually called from within \code{\Link{boxplot}}, but can be
invoked directly.
\end{Description}
\begin{Usage}
\begin{verbatim}
bxp(z, notch = FALSE, width = NULL, varwidth = FALSE, outline = TRUE,
    notch.frac = 0.5, boxwex = 0.8, border = par("fg"), col = NULL,
    log = "", pars = NULL, frame.plot = axes, horizontal = FALSE,
    add = FALSE, at = NULL, show.names=NULL, ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{z}] a list containing data summaries to be used in constructing
the plots.  These are usually the result of a call to
\code{\Link{boxplot}}, but can be generated in any fashion.
\item[\code{notch}] if \code{notch} is \code{TRUE}, a notch is drawn in each
side of the boxes.  If the notches of two plots do not overlap then
the medians are significantly different at the 5 percent level.
\item[\code{width}] a vector giving the relative widths of the boxes making
up the plot.
\item[\code{varwidth}] if \code{varwidth} is \code{TRUE}, the boxes are drawn
with widths proportional to the square-roots of the number of
observations in the groups.
\item[\code{outline}] if \code{outline} is not true, the boxplot lines are
not drawn.
\item[\code{boxwex}] a scale factor to be applied to all boxes.  When there
are only a few groups, the appearance of the plot can be improved by
making the boxes narrower.
\item[\code{notch.frac}] numeric in (0,1). When \code{notch=TRUE}, the
fraction of the box width that the notches should use.
\item[\code{border}] character, the color of the box borders.  Is recycled for
multiple boxes.
\item[\code{col}] character; the color within the box.  Is recycled for
multiple boxes
\item[\code{log}] character, indicating if any axis should be drawn in
logarithmic scale, as in \code{\Link{plot.default}}.
\item[\code{frame.plot}] logical, indicating if a \dQuote{frame}
(\code{\Link{box}}) should be drawn; defaults to \code{TRUE}, unless
\code{axes = FALSE} is specified.
\item[\code{horizontal}] logical indicating if the  boxplots should be
horizontal; default \code{FALSE} means vertical boxes.
\item[\code{add}] logical, if true \emph{add} boxplot to current plot.
\item[\code{at}] numeric vector giving the locations where the boxplots
should be drawn, particularly when \code{add = TRUE}; defaults to
\code{1:n} where \code{n} is the number of boxes.
\item[\code{show.names}] Set to \code{TRUE} or \code{FALSE} to override the
defaults on whether an x-axis label is printed for each group.
\item[\code{pars,...}] graphical parameters can be passed as arguments to
this function, either as a list (\code{pars}) or
normally(\code{...}).

Currently, \code{pch}, \code{cex}, and \code{bg} are passed to
\code{\Link{points}},\\
\code{ylim} and \code{axes} to the main plot
(\code{\Link{plot.default}}), \code{xaxt}, \code{yaxt}, \code{las}
to \code{\Link{axis}} and the others to \code{\Link{title}}.

\end{ldescription}
\end{Arguments}
\begin{Value}
An invisible vector, actually identical to the \code{at} argument,
with the coordinates ("x" if horizontal is false, "y" otherwise) of
box centers, useful for adding to the plot.
\end{Value}
\begin{References}\relax
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth \& Brooks/Cole.
\end{References}
\begin{Examples}
\begin{ExampleCode}
set.seed(753)
(bx.p <- boxplot(split(rt(100, 4), gl(5,20))))
op <- par(mfrow= c(2,2))
bxp(bx.p, xaxt = "n")
bxp(bx.p, notch = TRUE, axes = FALSE, pch = 4)
bxp(bx.p, notch = TRUE, col= "lightblue", frame= FALSE, outl= FALSE,
    main = "bxp(*, frame= FALSE, outl= FALSE)")
bxp(bx.p, notch = TRUE, col= "lightblue", border="red", ylim = c(-4,4),
    pch = 22, bg = "green", log = "x", main = "... log='x', ylim=*")
par(op)
op <- par(mfrow= c(1,2))
data(PlantGrowth)
## single group -- no label
boxplot(weight~group,data=PlantGrowth,subset=group=="ctrl")
bx<-boxplot(weight~group,data=PlantGrowth,subset=group=="ctrl",plot=FALSE)
## with label
bxp(bx,show.names=TRUE)
par(op)
\end{ExampleCode}
\end{Examples}

