我有如下的情节如下。它是用下面的命令创建的:

library(ggplot2)

df <- data.frame(cond = factor(rep(c("A", "B"), each = 200)), 
                 rating = c(rnorm(200), rnorm(200, mean=.8)))

ggplot(df, aes(x=rating, fill=cond)) + 
geom_density(alpha = .3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")

现在,我想把传说标题从cond修改为NEW legend title。

所以,我只是添加了下面的行添加上述代码的结尾:

+labs(colour="NEW LEGEND TITLE")

但这并不奏效。正确的做法是什么?


当前回答

上面的代码都不适合我。

这是我的发现,它起作用了。

实验室(颜色=“销售年份”)

你也可以在标题和显示之间加一个空格,在结尾加\n。

实验室(颜色= '销售年份\n ')

其他回答

这应该可以工作:

p <- ggplot(df, aes(x=rating, fill=cond)) + 
           geom_density(alpha=.3) + 
           xlab("NEW RATING TITLE") + 
           ylab("NEW DENSITY TITLE")
p <- p + guides(fill=guide_legend(title="New Legend Title"))

(或者)

p + scale_fill_discrete(name = "New Legend Title")

上面的代码都不适合我。

这是我的发现,它起作用了。

实验室(颜色=“销售年份”)

你也可以在标题和显示之间加一个空格,在结尾加\n。

实验室(颜色= '销售年份\n ')

我在ggplot中使用facet_wrap,除了ArnaudA的解决方案外,没有一个建议的解决方案适合我:

qplot(…) + guides(color=guide_legend(title="sale year")) 

唯一对我有效的办法是: p + guides(fill=guide_legend("New title"))

因为你有两个密度,我想你可能想用scale_fill_manual设置自己的颜色。

如果是这样,你可以这样做:

df <- data.frame(x=1:10,group=c(rep("a",5),rep("b",5)))

legend_title <- "OMG My Title"

ggplot(df, aes(x=x, fill=group)) + geom_density(alpha=.3) +   
    scale_fill_manual(legend_title,values=c("orange","red"))