| geom_ribbon {ggplot2} | R Documentation |
Ribbons, y range with continuous x values.
geom_ribbon(mapping = NULL, data = NULL, stat = "identity", position = "identity", na.rm = FALSE, ...)
mapping |
The aesthetic mapping, usually constructed with
|
data |
A layer specific dataset - only needed if you want to override the plot defaults. |
stat |
The statistical transformation to use on the data for this layer. |
position |
The position adjustment to use for overlapping points on this layer |
na.rm |
If |
... |
other arguments passed on to |
geom_ribbon understands the following aesthetics (required aesthetics are in bold):
x
ymax
ymin
alpha
colour
fill
linetype
size
geom_bar for discrete intervals (bars),
geom_linerange for discrete intervals (lines),
geom_polygon for general polygons"
# Generate data
huron <- data.frame(year = 1875:1972, level = as.vector(LakeHuron))
library(plyr) # to access round_any
huron$decade <- round_any(huron$year, 10, floor)
h <- ggplot(huron, aes(x=year))
h + geom_ribbon(aes(ymin=0, ymax=level))
h + geom_area(aes(y = level))
# Add aesthetic mappings
h + geom_ribbon(aes(ymin=level-1, ymax=level+1))
h + geom_ribbon(aes(ymin=level-1, ymax=level+1)) + geom_line(aes(y=level))
# Take out some values in the middle for an example of NA handling
huron[huron$year > 1900 & huron$year < 1910, "level"] <- NA
h <- ggplot(huron, aes(x=year))
h + geom_ribbon(aes(ymin=level-1, ymax=level+1)) + geom_line(aes(y=level))
# Another data set, with multiple y's for each x
m <- ggplot(movies, aes(y=votes, x=year))
(m <- m + geom_point())
# The default summary isn't that useful
m + stat_summary(geom="ribbon", fun.ymin="min", fun.ymax="max")
m + stat_summary(geom="ribbon", fun.data="median_hilow")
# Use qplot instead
qplot(year, level, data=huron, geom=c("area", "line"))