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 71 72 73 74 75 76
|
\name{geom_polygon}
\alias{geom_polygon}
\alias{GeomPolygon}
\title{geom\_polygon}
\description{Polygon, a filled path}
\details{
This page describes geom\_polygon, see \code{\link{layer}} and \code{\link{qplot}} for how to create a complete plot from individual components.
}
\section{Aesthetics}{
The following aesthetics can be used with geom\_polygon. Aesthetics are mapped to variables in the data with the aes function: \code{geom\_polygon(aes(x = var))}
\itemize{
\item \code{x}: x position (\strong{required})
\item \code{y}: y position (\strong{required})
\item \code{colour}: border colour
\item \code{fill}: internal colour
\item \code{size}: size
\item \code{linetype}: line type
\item \code{alpha}: transparency
}
}
\usage{geom_polygon(mapping = NULL, data = NULL, stat = "identity",
position = "identity", ...)}
\arguments{
\item{mapping}{mapping between variables and aesthetics generated by aes}
\item{data}{dataset used in this layer, if not specified uses plot dataset}
\item{stat}{statistic used by this layer}
\item{position}{position adjustment used by this layer}
\item{...}{ignored }
}
\seealso{\itemize{
\item \code{\link{geom_path}}: an unfilled polygon
\item \code{\link{geom_ribbon}}: a polygon anchored on the x-axis
\item \url{http://had.co.nz/ggplot2/geom_polygon.html}
}}
\value{A \code{\link{layer}}}
\examples{\dontrun{
# When using geom_polygon, you will typically need two data frames:
# one contains the coordinates of each polygon (positions), and the
# other the values associated with each polygon (values). An id
# variable links the two together
ids <- factor(c("1.1", "2.1", "1.2", "2.2", "1.3", "2.3"))
values <- data.frame(
id = ids,
value = c(3, 3.1, 3.1, 3.2, 3.15, 3.5)
)
positions <- data.frame(
id = rep(ids, each = 4),
x = c(2, 1, 1.1, 2.2, 1, 0, 0.3, 1.1, 2.2, 1.1, 1.2, 2.5, 1.1, 0.3,
0.5, 1.2, 2.5, 1.2, 1.3, 2.7, 1.2, 0.5, 0.6, 1.3),
y = c(-0.5, 0, 1, 0.5, 0, 0.5, 1.5, 1, 0.5, 1, 2.1, 1.7, 1, 1.5,
2.2, 2.1, 1.7, 2.1, 3.2, 2.8, 2.1, 2.2, 3.3, 3.2)
)
# Currently we need to manually merge the two together
datapoly <- merge(values, positions, by=c("id"))
(p <- ggplot(datapoly, aes(x=x, y=y)) + geom_polygon(aes(fill=value, group=id)))
# Which seems like a lot of work, but then it's easy to add on
# other features in this coordinate system, e.g.:
stream <- data.frame(
x = cumsum(runif(50, max = 0.1)),
y = cumsum(runif(50,max = 0.1))
)
p + geom_line(data = stream, colour="grey30", size = 5)
# And if the positions are in longitude and latitude, you can use
# coord_map to produce different map projections.
}}
\author{Hadley Wickham, \url{http://had.co.nz/}}
\keyword{hplot}
|