我认识到这个问题与这个问题非常相似,但是那里的解决方案不再有效(使用method="last.qp"
),所以我再次问它。
基本问题是我想使用directlabels
(或等效)来标记每个组(来自stat_smooth()
)的平滑均值,而不是实际数据。下面的示例显示的与我所得到的一样接近,但标签无法识别分组,甚至无法识别平滑线。相反,我在最后一点得到了标签。我想要的是每条平滑线末尾的颜色协调文本,而不是图右侧的图例。
这是一个例子:
library(ggplot2)
library(directlabels)
## Data
set.seed(10)
d <- data.frame(x=seq(1,100,1), y=rnorm(100, 3, 0.5))
d$z <- ifelse(d$y>3,1,0)
## Plot
p <- ggplot(d, aes(x=x, y=y, colour=as.factor(z))) +
stat_smooth(inherit.aes=T, se=F, span=0.8, show.legend = T) +
geom_line(colour="grey50") +
scale_x_continuous(limits=c(0,110)) +
geom_dl(label="text", method="maxvar.points", inherit.aes=T)
p