Вы можете скрыть выбросы для geom_boxplot с помощью outlier.shape=NA
. Для geom_jitter вы можете использовать прозрачность, чтобы скрыть выбросы, но они должны быть определены первыми.
mpg %>%
group_by(drv) %>%
mutate(cty.show = as.numeric( # so ggplot doesn't complain about alpha being discrete
between(cty,
quantile(cty)[2] - 1.5*IQR(cty),
quantile(cty)[4] + 1.5*IQR(cty)))) %>%
ggplot(aes(drv, cty)) +
geom_boxplot(outlier.shape = NA) +
geom_jitter(aes(alpha=cty.show), show.legend=FALSE) +
scale_alpha_continuous(range = c(0, 1)) # otherwise outliers only partially transparent.
Для второго графика, y -лимиты могут быть скорректированы при необходимости.