geom_ribbon(mapping = NULL, data = NULL, stat = "identity", position = "identity", na.rm = FALSE, ...)
aes or aes_string. Only
needs to be set at the layer level if you are overriding
the plot defaults.FALSE (the default), removes
missing values with a warning. If TRUE silently
removes missing values.layer. This can include aesthetics whose
values you want to set, not map. See layer
for more details.Ribbons, y range with continuous x values.
geom_ribbon understands the following aesthetics (required aesthetics are in bold):
x
ymax
ymin
alpha
colour
fill
linetype
size
# 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"))Warning message: Removed 9 rows containing missing values (position_stack).
geom_bar for discrete intervals (bars),
geom_linerange for discrete intervals
(lines), geom_polygon for general polygons"