\HeaderA{gghistogram}{Grob function: histogram}{gghistogram}
\keyword{hplot}{gghistogram}
\begin{Description}\relax
Draw a histogram
\end{Description}
\begin{Usage}
\begin{verbatim}gghistogram(plot = .PLOT, aesthetics=list(), scale="prob", ..., data=NULL)\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{plot}] the plot object to modify
\item[\code{aesthetics}] named list of aesthetic mappings, see details for more information
\item[\code{scale}] other options, see details for more information
\item[\code{...}] data source, if not specified the plot default will be used
\item[\code{data}] 
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Aesthetic mappings that this grob function understands:

Conceptually, the histogram is one of the most complicated
of the grob functions, becuase it takes a 1D data set and makes
it two dimensional.  This necessitates an extra step, the \code{pre\_histogram}
function which bins the data and returns the bins with their counts.
This data is then used my \code{grob\_histogram}
to plot the points.

\Itemize{
\item \code{x}:x position (required)
\item \code{weight}: observation weights
}

These can be specified in the plot defaults (see \code{\LinkA{ggplot}{ggplot}}) or
in the \code{aesthetics} argument.  If you want to modify the position
of the points or any axis options, you will need to add a position scale to
the plot.  These functions start with \code{ps}, eg.
\code{\LinkA{pscontinuous}{pscontinuous}} or \code{\LinkA{pscategorical}{pscategorical}}

Other options:

\Itemize{
\item \code{breaks}:breaks argument passed to \code{\LinkA{hist}{hist}}
\item \code{scale}:scale argument passed to \code{\LinkA{hist}{hist}}
\item any other aesthetic setting passed on to \code{\LinkA{ggrect}{ggrect}}
}
\end{Details}
\begin{Author}\relax
Hadley Wickham <h.wickham@gmail.com>
\end{Author}
\begin{Examples}
\begin{ExampleCode}m <- ggplot(movies, aesthetics=list(x=rating))
gghistogram(m)
gghistogram(m, breaks=100)
qplot(length, data=movies, type="histogram")
qplot(log(length), data=movies, type="histogram")
m <- ggplot(movies, Action ~ Comedy, aesthetics=list(x=rating), margins=TRUE)
gghistogram(m)
gghistogram(m, scale="freq")
gghistogram(m, colour="darkgreen", fill="white") 
qplot(rating, data=movies, type="histogram")
qplot(rating, weight=votes, data=movies, type="histogram")
qplot(rating, weight=votes, data=movies, type=c("histogram", "density"))\end{ExampleCode}
\end{Examples}

