如何使用 ggplot2 制作包含 5 点摘要的箱线图?

How to make a boxplot with the 5 points summary ready with ggplot2?

虚拟数据

d = data.frame(type=LETTERS[1:3], ymin=c(1,1.1,2), lower=c(1.5,1.5,4), middle=c(1.6,1.8,4.5), upper=c(2,2.1,7), ymax=c(2.5, 2.6, 10))
  type ymin lower middle upper ymax
1    A  1.0   1.5    1.6   2.0  2.5
2    B  1.1   1.5    1.8   2.1  2.6
3    C  2.0   4.0    4.5   7.0 10.0

目标

我想用 ggplot2 和上面显示的那种数据制作一个箱线图,其中我已经为箱线图确定了 5 个点的位置。在上面的例子中,必须有3个不同的盒子。

我试过的

ggplot(d, aes(x=type, y=middle)) + stat_summary(geom="boxplot", list(ymin=ymin, lower=lower, middle=middle, upper=upper, ymax=ymax))

ggplot(d, aes(x=type, y=middle)) + geom_boxplot(ymin=ymin, lower=lower, middle=middle, upper=upper, ymax=ymax)

但都失败了。

像这样:

ggplot(d, aes(x=type)) +
    geom_boxplot(aes(ymin=ymin, lower=lower, middle=middle, upper=upper, ymax=ymax),
                 stat = "identity")

您第二次尝试接近成功,但您需要将参数放在 aes 中,并将 stat = "identity" 添加到箱线图(这样它就不会尝试应用自我总结)。