我对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")谢谢
发布于 2013-10-14 09:44:34
这里有一种可能性-你可以用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)

顺便说一下,您的数据似乎与您发布的曲线图不匹配。
https://stackoverflow.com/questions/19351866
复制相似问题