拆下';重复';R中ggplot2图例中的元素

拆下';重复';R中ggplot2图例中的元素,r,ggplot2,legend,aesthetics,legend-properties,R,Ggplot2,Legend,Aesthetics,Legend Properties,[编辑为具有可运行代码,并使用第二种方法] 我发现了几个似乎相关的链接,但无法直接找到如何将它们应用到我的挑战中的方法:我使用ggplot2创建了一个线图,它绘制了一个数据帧,包括上下置信区间。我希望它们在图例中仅显示为“99%CI”,而不是单独显示为,比如说,“上CI”和“下CI” 库(ggplot2) 图书馆(E2) gmm以下是我在评论中提到的方法: dat <- rbind(gmm.m,gmm.b) dat$variable <- as.character(dat$varia

[编辑为具有可运行代码,并使用第二种方法]

我发现了几个似乎相关的链接,但无法直接找到如何将它们应用到我的挑战中的方法:我使用ggplot2创建了一个线图,它绘制了一个数据帧,包括上下置信区间。我希望它们在图例中仅显示为“99%CI”,而不是单独显示为,比如说,“上CI”和“下CI”

库(ggplot2)
图书馆(E2)

gmm以下是我在评论中提到的方法:

dat <- rbind(gmm.m,gmm.b)
dat$variable <- as.character(dat$variable)
dat$var1 <- dat$variable
dat$var1[dat$var1 %in% c('upper','lower')] <- '99% CI'

ggplot(dat,aes(x = x,y = value)) + 
    geom_line(aes(colour = var1,group = variable))

dat由于没有提供可复制的示例,您很难回答。但是如果我不得不猜测的话,我会说答案将包括使用颜色美学来设置标签/图例,以及使用组美学来确保正确绘制每一条线。希望编辑使这更容易理解。很抱歉,我是在漫长而艰苦的编码工作结束后发布的。
library(ggplot2)
library(reshape2)
gmm   <- data.frame(x=runif(10), observed=runif(10), theoretical=runif(10), upper=runif(10))
gmm.m <- melt(gmm, id="x")
gmm.b <- data.frame(x=runif(10),variable='lower', value=runif(10))
p1 <- ggplot(data=gmm.m, aes(x, value, colour=variable)) + geom_line() + scale_colour_manual(values=c("black", "#F8766D", "#7DAF01"), labels=c("Observed","Theoretical","99% Confidence Intervals",""))
p1 <- p1 + geom_line(data=gmm.b, aes(x=x, y=value, legend=FALSE))
plot(p1)
dat <- rbind(gmm.m,gmm.b)
dat$variable <- as.character(dat$variable)
dat$var1 <- dat$variable
dat$var1[dat$var1 %in% c('upper','lower')] <- '99% CI'

ggplot(dat,aes(x = x,y = value)) + 
    geom_line(aes(colour = var1,group = variable))