格式化y轴颜色条

时间:2013-10-14 00:24:53

标签: r ggplot2

我是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")

由于

1 个答案:

答案 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))

然后,您需要将xy映射移动到每个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)

enter image description here

顺便说一下,您的数据似乎与您发布的地图不符。