I have two sets of points with error bars. I would like to offset the second so it\'s displayed slightly down from the first set, so that it doesn\'t obscure the original.<
In most recent ggplot2, you can set the desired dodge width to match the width of the error bar tails using position = position_dodge(width = #):
set.seed(45)
data <- data.frame(group = c(rep("Z", 4), rep("Y", 4)),
value = runif(8),
x = rep(c("a","b","c","d"),2))
data$ll <- data$value - abs(runif(8))
data$ul <- data$value + abs(runif(8))
ggplot(data = data, aes(x = x, y = value, color = group)) +
geom_point(size = 2, position = position_dodge(width = 0.2)) +
geom_hline(yintercept = 1, linetype = "dotted") +
geom_errorbar(aes(ymin = ll, ymax = ul), width = 0.2, position = "dodge")