R中2个变量值之间的绘图条

Drawing bar between 2 variable values in R

我有以下数据:

> mydf
  name var1 var2
1   aa  120   80
2   bb  128   86
3   cc  132   98

> dput(mydf)
structure(list(name = structure(1:3, .Label = c("aa", "bb", "cc"
), class = "factor"), var1 = c(120L, 128L, 132L), var2 = c(80L, 
86L, 98L)), .Names = c("name", "var1", "var2"), class = "data.frame", row.names = c(NA, 
-3L))

我想创建一个类似于以下的图表(这是手动绘制的,比例不准确):

如何做到这一点(最好使用 ggplot)?感谢您的帮助。

至少这是一个开始

ggplot(transform(mydf, xname=as.numeric(name))) + 
    geom_rect(aes(xmin=xname-.2, xmax=xname+.2, ymin=var1, ymax=var2)) + 
    geom_text(aes(x=xname, y=var1+5, label=var1)) + 
    geom_text(aes(x=xname, y=var2-5, label=var2)) + 
    scale_x_continuous(breaks=1:nlevels(mydf$name), labels=levels(mydf$name)) + 
    ylab("units") + xlab("")

产生