如何使用 ggplot2 中的线条将箱线图的中值与多个组连接起来?

How to connect the median values of a boxplot with multiple groups using lines in ggplot2?

我正在尝试使用 ggplot2 连接箱线图的中值,但线条的位置不正确。

这是我使用的代码。

library(datasets)
library(ggplot2)

data(airquality)
airquality$Month <- factor(airquality$Month,
                           labels = c("May", "Jun", "Jul", "Aug", "Sep"))
airquality$Day <- ifelse(airquality$Day >= 15, 'End', 'Begining')

ggplot(airquality, aes(x = Month, y = Ozone, fill = Day)) +
    geom_boxplot() +
stat_summary(fun.y = median, geom = 'line', aes(group = Day, colour =Day))

这些线只显示在图中,但没有连接我想要的中值。

任何帮助将不胜感激。

为此,您应该明确指定位置参数。 geom_boxplot 默认为 position_dodge,但您必须为该行指定它。

ggplot(airquality, aes(x = Month, y = Ozone, fill = Day)) +
  geom_boxplot(position = position_dodge(width = 0.9)) +
  stat_summary(
    fun.y = median,
    geom = 'line',
    aes(group = Day, colour = Day),
    position = position_dodge(width = 0.9) #this has to be added
  )