Various ways of representing a vertical interval defined by x
,
ymin
and ymax
. Each case draws a single graphical object.
geom_crossbar(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., fatten = 2.5, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) geom_errorbar(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) geom_linerange(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) geom_pointrange(mapping = NULL, data = NULL, stat = "identity", position = "identity", ..., fatten = 4, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)
mapping | Set of aesthetic mappings created by |
---|---|
data | The data to be displayed in this layer. There are three options: If A A |
stat | The statistical transformation to use on the data for this layer, as a string. |
position | Position adjustment, either as a string, or the result of a call to a position adjustment function. |
... | other arguments passed on to |
fatten | A multiplicative factor used to increase the size of the
middle bar in |
na.rm | If |
show.legend | logical. Should this layer be included in the legends?
|
inherit.aes | If |
geom_linerange
understands the following aesthetics (required aesthetics are in bold):
x
ymin
ymax
alpha
colour
group
linetype
size
stat_summary
for examples of these guys in use,
geom_smooth
for continuous analog,
geom_errorbarh
for a horizontal error bar.
#' # Create a simple example dataset df <- data.frame( trt = factor(c(1, 1, 2, 2)), resp = c(1, 5, 3, 4), group = factor(c(1, 2, 1, 2)), upper = c(1.1, 5.3, 3.3, 4.2), lower = c(0.8, 4.6, 2.4, 3.6) ) p <- ggplot(df, aes(trt, resp, colour = group)) p + geom_linerange(aes(ymin = lower, ymax = upper))# Draw lines connecting group means p + geom_line(aes(group = group)) + geom_errorbar(aes(ymin = lower, ymax = upper), width = 0.2)# If you want to dodge bars and errorbars, you need to manually # specify the dodge width p <- ggplot(df, aes(trt, resp, fill = group)) p + geom_col(position = "dodge") + geom_errorbar(aes(ymin = lower, ymax = upper), position = "dodge", width = 0.25)# Because the bars and errorbars have different widths # we need to specify how wide the objects we are dodging are dodge <- position_dodge(width=0.9) p + geom_col(position = dodge) + geom_errorbar(aes(ymin = lower, ymax = upper), position = dodge, width = 0.25)