仅针对平均值显示geom_label

时间:2018-04-15 05:40:17

标签: r ggplot2

我真的很感谢你的帮助。我只想在2个治疗组的每个时间点显示一个平均值(对应红线)。我尝试过使用geom_label,但它似乎标记了每一点。任何想法如何标记手段(即治疗组A中的4个值标签和治疗组B中的4个)。

enter image description here

# Assign random alpha (0 [50%] or 1 [50%]) values
dat <-  ddply(dat, .(id), function(x){
  x$alpha = ifelse(runif(n = 1) > 0.50, 1, 0)
  x
})
# Plot
ggplot(data = dat, aes(x = week, y = iop, group = id)) +
  geom_point(alpha = 0.5) +
  geom_line(aes(alpha=alpha, group=id)) +
  guides(alpha=FALSE) +
  stat_summary(aes(group = 1), geom = "point", fun.y = mean, size = 3, color = "red") +
  stat_summary(aes(group = 1), geom = "line", fun.y = mean, size = 2, color = "red") +
  geom_label(stat = 'summary', fun.y=mean, aes(label = round(..y.., 2)), nudge_x = 0.1, hjust = 0) +
  scale_x_continuous(breaks = seq(0,18,6)) +
  facet_grid(. ~ trt) +
  theme_classic() +
  xlab("Month") + ylab("IOP")

0 个答案:

没有答案