不改变图形参数,如何更改ggplot2图例标题

5

我发现很多有关使用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

需要关注的图形:

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

gp1

如果我使用 scale_colour_manual() 来更改图例标题,那么会出现一个意外的额外图例:

gp1 + scale_colour_manual("NEW TITLE",values=c("red","blue"))

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

gp1++

请问如何重新生成第一个图例,并仅使用新的图例标题?


请查看http://www.cookbook-r.com/Graphs/Legends_(ggplot2)/。 - Ricardo Saporta
1个回答

5

你需要为所有使用的 aes() 属性设置相同的标题,例如使用函数 labs()

gp1 + scale_colour_manual(values=c("red","blue"))+
    labs(colour="NEW TITLE",linetype="NEW TITLE",shape="NEW TITLE")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接