1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
\name{histStack}
\alias{histStack}
\alias{histStack.formula}
\alias{histStack.default}
\title{Histogram "stacked" by categories}
\description{
Histogram of a quantitative variable with bars that are "stacked" by the
values of a factor variable.
}
\usage{
histStack(x,...)
\method{histStack}{formula}(x,data,breaks="Sturges",col="rainbow",
right=TRUE,main="",xlab=NULL,legend.pos=NULL,cex.legend=0.75,...)
\method{histStack}{default}(x,z,breaks="Sturges",col="rainbow",
right=TRUE,main="",xlab=NULL,legend.pos=NULL,cex.legend=0.75,...)
}
\arguments{
\item{x}{A vector of quantitative data or a formula of the form x~z
(see z below).}
\item{z}{A vector of categorical data (a factor) that will define the
\dQuote{stacks}.}
\item{data}{A data frame that contains both x and z.}
\item{breaks}{Breaks to use in categorizing values of x.}
\item{col}{Either a vector of colors in any legitimate form or a
character string that specifies a function that requires only the length
of the vector as an argument and will return a vector of colors with that
length. (see Details)}
\item{right}{A logical that indicates whether the bins are right-open
(left-closed; =TRUE) or right-closed (left-open; =FALSE; default).}
\item{main}{A character string that forms the main title for the plot.}
\item{xlab}{A character string for labeling the x-axis.}
\item{legend.pos}{A character string or two numeric values indicating the
position for the stacking legend.}
\item{cex.legend}{A numeric character expansion value for the legend.
Values less than 1 will make the legend smaller.}
\item{...}{Additional arguments sent to the hist function.}
}
\details{
\samp{histStack} displays a \dQuote{stacked histogram} while using many of
the same arguments as hist(). The argument \samp{z} will be converted to a
factor with a warning if it is not already a factor.
The color functions in \pkg{grDevices} (e.g. "gray.colors") should always
be valid when passed as the \samp{col} argument. Any function that will
return a vector of \samp{n} colors when called with a single argument
\samp{n} and that exists in the current environment should work. An error
will occur if length(col)==1 and the value is not a function as described
for \samp{col} (e.g., \samp{col="blue"} will result in an error).If fewer
colors than levels of \samp{z} are passed, they will be recycled.
}
\value{nil. A plot is displayed.}
\note{
This function is currently experimental.
}
\author{Derek Ogle with modifications by Jim Lemon}
\seealso{\link{hist}, \link{legend}}
\examples{
set.seed(409)
df<-data.frame(len=rnorm(100)+5,
grp=sample(c("A","B","C","D"),100,replace=TRUE))
histStack(len~grp,data=df,main="Default (rainbow) colors",
xlab="Length category")
histStack(len~grp,data=df,col="heat.colors",main="Heat colors",
xlab="Length category",legend.pos="topright")
histStack(len~grp,data=df,col=2:5,main="Colors by number",
xlab="Length category",legend.pos=c(2.8,18))
}
\keyword{misc}
|