一般目标:使用 ggplot 仅选择性地标记最后点高于某个 y 值的线。
潜在功能/包:我知道geom_text()
功能和 directlabels 包,但我无法在他们的文档中确定一种方法,以按照我上面描述的方式选择性地标记行。
样本数据
ID <- c(rep("ID1", 5), rep("ID2", 5), rep("ID3", 5), rep("ID4", 5), rep("ID5", 5))
Y <- c(1, 2, 3, 4, 5,
10, 20, 30, 40, 1,
5, 10, 15, 10, 60,
50, 30, 20, 25, 10,
20, 25, 30, 35, 50)
Year <- c(rep(seq(2000 ,2004), 5))
DATA <- data.frame(ID, Year, Y)
绘制数据
ggplot(data=DATA, aes(Year, Y)) +
geom_line(aes(y=Y, x=Year, color=ID)) +
theme_bw()
阴谋
问题
在上面的情节中,有没有办法使用gg_text()
、directlabels 或任何其他函数来自动(而不是手动Y >= 50
)根据它们的 ID 只标记最后一点是(紫色和绿色线)的线?
非常感谢你的帮助!