这是一种可能性——你可以在任何你喜欢geom_text
的地方制作标签并使用一些颜色。geom_rect
如果我们用所需的数据制作一个数据框:
labels <- data.frame(id = c("Very poor", "Poor", "Moderate", "Good", "Very good"),
min = seq(0, 80, 20), max = seq(20, 100, 20))
然后,您需要将您的x
和y
映射移动到每个geom
(或者至少我不知道避免这种情况的方法):
base <- ggplot(p2r.m) +
geom_line(aes(x=time,y=value,group=variable,colour=variable)) +
geom_point(aes(x=time,y=value), size=4,shape=21,fill="white")
然后引用标签数据:
base + geom_rect(data = labels, aes(ymin = min, ymax = max,xmin = 0, xmax = 0.5, fill = id)) +
geom_text(data = labels, aes(x = 0.25, y = (min + max)/2, label = id), angle = 90) +
guides(fill = F)
顺便说一句,您的数据似乎与您发布的情节不符。