在盒须图中去除胡须

Anj*_*jaM 9 r ggplot2 boxplot

有没有办法消除从箱晶须情节晶须一个简单的方法ggplot2R?我想只保留盒子.

MWE:

library("ggplot2")
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_boxplot(outlier.size = 0)
Run Code Online (Sandbox Code Playgroud)

mpa*_*nco 10

我们只需要添加参数coef = 0:

library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_boxplot(outlier.shape = NA, coef = 0) # Or outlier.size = -1 instead of outlier.shape = NA
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Did*_*rts 9

一种方法是用来stat_summary_df()计算meadian,25和75百分位,然后用这些数据绘制geom="crossbar".自动它可以在"median_hilow"里面完成stat_summary_df().为此,您需要在绘图之前添加库Hmisc并定义函数stat_summary_df(.默认值为"median_hilow"2.5和97.5百分位数,因此您需要添加参数conf.int=0.5.

 stat_sum_df <- function(fun, geom="crossbar", ...) {
    stat_summary(fun.data=fun, colour="red", geom=geom, width=0.2, ...)
 }

library(Hmisc)
ggplot(mtcars, aes(factor(cyl), mpg)) + 
   stat_sum_df("median_hilow",conf.int=0.5,fill="white")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述