R ggplot方框图,但方框延伸至第5百分位和第95百分位

R ggplot方框图,但方框延伸至第5百分位和第95百分位,r,ggplot2,R,Ggplot2,我想用一个方框图来总结一些基础数据的分布,但是我想用方框来代替延伸到第5和第95位的胡须,我想让方框延伸到第5和第95位 去除异常值和胡须的标准箱线图: library("ggplot2") p <- ggplot(mtcars, aes(factor(cyl), mpg)) p + geom_boxplot(outlier.shape = NA, coef = 0) 但我真正想要的是盒子(没有胡须)延伸到第5和第95个,所以这两个修改的组合。有没有办法在stat\

我想用一个方框图来总结一些基础数据的分布,但是我想用方框来代替延伸到第5和第95位的胡须,我想让方框延伸到第5和第95位

去除异常值和胡须的标准箱线图:

library("ggplot2")
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_boxplot(outlier.shape = NA, coef = 0)

但我真正想要的是盒子(没有胡须)延伸到第5和第95个,所以这两个修改的组合。有没有办法在
stat\u summary()
中指定长方体生成函数?

这可能是一种有点“老套”的方法,但最简单的方法可能是对每个圆柱体类使用
geom\u段。这将允许您指定箱线图的宽度以及希望箱线图达到的值。但是,如果需要,您可以使用
aes()
,也可以使用
stat\u summary()
添加中间线

library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_segment(aes(x = 4, xend = 4, y = quantile(subset(mtcars, mtcars$cyl==4)$mpg,0.95), yend = quantile(subset(mtcars, mtcars$cyl==4)$mpg, 0.05)), color = 'firebrick1', lwd = 28)

库(ggplot2)

p谢谢@colonelforbin97,我没有想到
geom\u段
。这是可行的,尽管需要更多的时间才能得到平均值/中间值线(如你所提到的),我还想按组填充/着色,用轮廓线匹配分组直方图(对不起,实际上正在进行的批次应该指定我想要箱线图的其他“特征”)。我会等着接受这个,希望有一个更直接的路线,但这是创造性的,我会接受,如果没有其他事情发生!听起来不错@BryanMichael。这无疑是一种“捷径”方式,可以按照箱线图的思路获得某些东西,但最终效率低下,难以与其他功能和图集成。让我们知道你的想法。谢谢
library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_segment(aes(x = 4, xend = 4, y = quantile(subset(mtcars, mtcars$cyl==4)$mpg,0.95), yend = quantile(subset(mtcars, mtcars$cyl==4)$mpg, 0.05)), color = 'firebrick1', lwd = 28)