0

我对ggplot真的很陌生。我想知道这个问题有一个快速的答案

我被要求重现带有 Y 轴的图表,该图表指示显示为多线图的数据的值类别。超链接中的绘图是在电子表格中手动制作的。我正在尝试生成与 y 比例对齐的彩色标签

原始图和数据 到目前为止,我已经设法用这段代码重现了线图

ggplot(p2r_m,aes(x=time,y=value,group=variable,colour=variable)) + 
geom_line() +                                 
geom_point( size=4,shape=21,fill="white")

谢谢

4

1 回答 1

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)

在此处输入图像描述

顺便说一句,您的数据似乎与您发布的情节不符。

于 2013-10-14T01:44:34.390 回答