You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未使用geom_jitter的ggplot箱线图中为何出现散点?

箱线图未添加geom_jitter却出现散点的原因

这些散点不是额外统计值,而是箱线图默认展示的异常值(Outliers),具体原因如下:

  • 箱线图的标准绘制逻辑会自动识别并标记异常点:
    • 箱线图的上须边界为 Q3 + 1.5*IQR(Q3是第三四分位数,IQR为四分位距)
    • 下须边界为 Q1 - 1.5*IQR(Q1是第一四分位数)
    • 所有超出这个上下须范围的数据点,都会被判定为异常值,并以散点形式自动显示在箱线图上
  • 你代码里的ylim(0, 50)只会截断y轴显示范围,落在0-50区间内的异常值依然会被geom_boxplot绘制出来

如何关闭异常点显示

如果不需要显示这些异常散点,可以在geom_boxplot()中添加outlier.shape = NA参数:

pelaChl_bxp <- ggplot(data = phyto_plankton_tbl, aes(x= time, y = PelaChl, fill = trt)) +
  geom_boxplot(outlier.shape = NA) + 
  ylim(0, 50) +
  scale_fill_manual(values=cbPalette) +
  theme_bw() 

代码小提示

你数据处理阶段的这段代码没有赋值给原变量,相当于没有生效:

phyto_plankton_tbl %>% 
  mutate(
  block = as.factor(block),
  trt = factor(trt, labels = c("-P&-F", "+P/-F", "+P/+F", "-P/+F")))

需要修改为赋值形式,才能正确更新trt的标签和block的类型:

phyto_plankton_tbl <- phyto_plankton_tbl %>% 
  mutate(
  block = as.factor(block),
  trt = factor(trt, labels = c("-P&-F", "+P/-F", "+P/+F", "-P/+F")))

内容的提问来源于stack exchange,提问作者matsDerErste

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:05:34