总体目标:使用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或任何其他函数按照其ID自动(而不是手动)标记仅其最后一个点为Y >= 50
(紫色和绿色线)的线条?
非常感谢您的帮助!