在不更改图形参数的情况下更改ggplot2图例标题

Sté*_*ent 5 graphics r ggplot2

我用ggplot2找到了很多关于传说标题的话题但几个小时之后我无法处理我的情况.

这是数据集:

> dat
  FACTOR1 FACTOR2 lsmean lower.CL upper.CL
1       A      aa   26.2     25.6     26.8
2       B      aa   24.8     23.9     25.7
3       A      bb   26.0     25.2     26.7
4       B      bb   24.9     23.9     25.9
5       A      cc   24.4     23.9     24.8
6       B      cc   23.9     22.9     25.0
7       A      dd   24.9     24.3     25.6
8       B      dd   23.2     22.3     24.0
Run Code Online (Sandbox Code Playgroud)

感兴趣的图形:

gp0 <- ggplot(dat, aes(x=FACTOR2, y=lsmean, group=FACTOR1, colour=FACTOR1)) 
( gp1 <- gp0 +  geom_line(aes(linetype=FACTOR1), size=.6) + 
    geom_point(aes(shape=FACTOR1), size=3) + 
    geom_errorbar(aes(ymax=upper.CL, ymin=lower.CL), width=.1) +
    geom_errorbar(aes(ymax=upper.CL, ymin=lower.CL), width=.1) ) 
Run Code Online (Sandbox Code Playgroud)

GP1

如果我scale_colour_manual()用来更改图例标题,那么我会得到一个意想不到的额外图例:

gp1 + scale_colour_manual("NEW TITLE",values=c("red","blue"))
Run Code Online (Sandbox Code Playgroud)

GP1 +

我压制这个额外的传奇scale_"aes"_manual("guide=none", values=...)但我不明白如何控制参数(点和线的样式):

gp1 + scale_colour_manual("NEW TITLE",values=c("red","blue")) +
    scale_shape_manual(guide = 'none', values=c(1,2))   + 
    scale_linetype_manual(guide = 'none', values=c(1,3))  
Run Code Online (Sandbox Code Playgroud)

GP1 ++

请问如何使用新的图例标题重现第一个情节?

Did*_*rts 5

您必须为aes()使用过的所有属性设置相同的标题,例如使用 function labs()

gp1 + scale_colour_manual(values=c("red","blue"))+
    labs(colour="NEW TITLE",linetype="NEW TITLE",shape="NEW TITLE")
Run Code Online (Sandbox Code Playgroud)