我是ggplot的新手。我想知道这个问题有一个快速的答案
我被要求重现具有Y轴的图表,该图表指示显示为多线图的数据的值类别。超链接中的绘图是在电子表格中手动完成的。 我正在尝试生成与y刻度对齐的彩色标签
original plot & data 到目前为止,我已设法使用此代码重现行图
ggplot(p2r_m,aes(x=time,y=value,group=variable,colour=variable)) +
geom_line() +
geom_point( size=4,shape=21,fill="white")
由于
答案 0 :(得分:4)
这是一种可能性 - 您可以使用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)
顺便说一下,您的数据似乎与您发布的地图不符。