【ggplot2】箱线图geom_boxplot+facet_wrap时每个facet保留离群值,不去除离群值;或者去掉离群值使每个facet的ylim范围不包含离群值

1. 保留离群值

将coef设置为5,stats <- quantile(x, probs = c(0, 0.25, 0.5, 0.75, 1)),如果没有fact,直接在 geom_boxplot(coef = 5)

 calc_stat <- function(x) {
   coef <- 5
   n <- sum(!is.na(x))
   # calculate quantiles
   stats <- quantile(x, probs = c(0, 0.25, 0.5, 0.75, 1))
   names(stats) <- c("ymin", "lower", "middle", "upper", "ymax")
   return(stats)
 }
 
 p = ggplot(plot_data, aes(x = method, y = value, fill = method),coef = 5) +
    #geom_boxplot(coef = 5) + 
   stat_summary(fun.data = calc_stat, geom="boxplot") + 
    facet_wrap(~metric, scales = "free") +
    theme_bw()+
    theme(legend.position = "bottom",
          panel.grid = element_blank(),
          axis.text.x = element_text(angle = 45, hjust = 0.5, vjust = 0.5),
          axis.title = element_blank())

  p

2.去掉离群值每个facet的ylim不包含离群值

 calc_stat <- function(x) {
   coef <- 1.5
   n <- sum(!is.na(x))
   # calculate quantiles
   stats <- quantile(x, probs = c(0.1, 0.25, 0.5, 0.75, 0.9))
   names(stats) <- c("ymin", "lower", "middle", "upper", "ymax")
   return(stats)
 }
 
 p = ggplot(plot_data, aes(x = method, y = value, fill = method),coef = 5) +
    #geom_boxplot(coef = 5) + 
   stat_summary(fun.data = calc_stat, geom="boxplot") + 
    facet_wrap(~metric, scales = "free") +
    theme_bw()+
    theme(legend.position = "bottom",
          panel.grid = element_blank(),
          axis.text.x = element_text(angle = 45, hjust = 0.5, vjust = 0.5),
          axis.title = element_blank())

  p
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值