\HeaderA{stripchart}{1-D Scatter Plots}{stripchart}
\keyword{hplot}{stripchart}
\begin{Description}\relax
\code{stripchart} produces one dimensional scatter plots (or dot
plots) of the given data.  These plots are a good alternative to
\code{\LinkA{boxplot}{boxplot}}s when sample sizes are small.
\end{Description}
\begin{Usage}
\begin{verbatim}
stripchart(x, method = "overplot", jitter = 0.1, offset = 1/3,
           vertical = FALSE, group.names, add = FALSE,
           at = NULL, xlim = NULL, ylim = NULL,
           main = "", ylab = "", xlab = "",
           log = "", pch = 0, col = par("fg"), cex = par("cex"))
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] the data from which the plots are to be produced.  The data
can be specified as a single vector, or as list of vectors, each
corresponding to a component plot.  Alternatively a symbolic
specification of the form \code{x \textasciitilde{} g} can be given, indicating the
the observations in the vector \code{x} are to be grouped according
to the levels of the factor \code{g}.
\code{NA}s are allowed in the data.
\item[\code{method}] the method to be used to separate coincident points.
The default method \code{"overplot"} causes such points to be
overplotted, but it is also possible to specify \code{"jitter"} to
jitter the points, or \code{"stack"} have coincident points
stacked.  The last method only makes sense for very granular data.
\item[\code{jitter}] when \code{method="jitter"} is used, \code{jitter}
gives the amount of jittering applied.
\item[\code{offset}] when stacking is used, points are stacked this many
line-heights (symbol widths) apart.
\item[\code{vertical}] when vertical is \code{TRUE} the plots are drawn
vertically rather than the default horizontal.
\item[\code{group.names}] group labels which will be printed alongside
(or underneath) each plot.
\item[\code{add}] logical, if true \emph{add} the chart to the current plot.
\item[\code{at}] numeric vector giving the locations where the charts should
be drawn, particularly when \code{add = TRUE};
defaults to \code{1:n} where \code{n} is the number of boxes.
\item[\code{main, ylab, xlab}] labels: see \code{\LinkA{title}{title}}.
\item[\code{xlim, ylim}] plot limits: see \code{\LinkA{plot.window}{plot.window}}.
\item[\code{log, pch, col, cex}] Graphical parameters: see \code{\LinkA{par}{par}}.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Extensive examples of the use of this kind of plot can be found in
Box, Hunter and Hunter or Seber and Wild.
\end{Details}
\begin{Examples}
\begin{ExampleCode}
x <- rnorm(50)
xr <- round(x, 1)
stripchart(x) ; m <- mean(par("usr")[1:2])
text(m, 1.04, "stripchart(x, \"overplot\")")
stripchart(xr, method = "stack", add = TRUE, at = 1.2)
text(m, 1.35, "stripchart(round(x,1), \"stack\")")
stripchart(xr, method = "jitter", add = TRUE, at = 0.7)
text(m, 0.85, "stripchart(round(x,1), \"jitter\")")

with(OrchardSprays,
     stripchart(decrease ~ treatment,
                main = "stripchart(Orchardsprays)", ylab = "decrease",
                vertical = TRUE, log = "y"))

with(OrchardSprays,
     stripchart(decrease ~ treatment, at = c(1:8)^2,
                main = "stripchart(Orchardsprays)", ylab = "decrease",
                vertical = TRUE, log = "y"))
\end{ExampleCode}
\end{Examples}

