geom_linerange(mapping = NULL, data = NULL, stat = "identity", position = "identity", ...)
aes or aes_string. Only
needs to be set at the layer level if you are overriding
the plot defaults.layer. This can include aesthetics whose
values you want to set, not map. See layer
for more details.An interval represented by a vertical line.
geom_linerange understands the following aesthetics (required aesthetics are in bold):
x
ymax
ymin
alpha
colour
linetype
size
# Generate data: means and standard errors of means for prices # for each type of cut dmod <- lm(price ~ cut, data=diamonds) cuts <- data.frame(cut=unique(diamonds$cut), predict(dmod, data.frame(cut = unique(diamonds$cut)), se=TRUE)[c("fit","se.fit")]) qplot(cut, fit, data=cuts)
# With a bar chart, we are comparing lengths, so the y-axis is # automatically extended to include 0 qplot(cut, fit, data=cuts, geom="bar")Mapping a variable to y and also using stat="bin". With stat="bin", it will attempt to set the y value to the count of cases in each group. This can result in unexpected behavior and will not be allowed in a future version of ggplot2. If you want y to represent counts of cases, use stat="bin" and don't map a variable to y. If you want y to represent values in the data, use stat="identity". See ?geom_bar for examples. (Deprecated; last used in version 0.9.2)
# Display estimates and standard errors in various ways se <- ggplot(cuts, aes(cut, fit, ymin = fit - se.fit, ymax=fit + se.fit, colour = cut)) se + geom_linerange()
se + geom_pointrange()
se + geom_errorbar(width = 0.5)
se + geom_crossbar(width = 0.5)
# Use coord_flip to flip the x and y axes se + geom_linerange() + coord_flip()
geom_errorbar: error bars;
geom_pointrange: range indicated by
straight line, with point in the middle;
geom_crossbar: hollow bar with middle
indicated by horizontal line; stat_summary:
examples of these guys in use; geom_smooth:
for continuous analog