如何使用 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"
添加到箱线图(这样它就不会尝试应用自我总结)。
虚拟数据
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"
添加到箱线图(这样它就不会尝试应用自我总结)。