如何在ggplot中更改图例标题

我有如下图。它是使用此命令创建的:


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

但它不起作用。什么是正确的方法呢?


智慧大石
浏览 6904回答 3
3回答

元芳怎么了

这应该工作:p <- ggplot(df, aes(x=rating, fill=cond)) +&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;geom_density(alpha=.3) +&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlab("NEW RATING TITLE") +&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ylab("NEW DENSITY TITLE")p <- p + guides(fill=guide_legend(title="New Legend Title"))(或者)p + scale_fill_discrete(name = "New Legend Title")

jeck猫

我没有深入研究这个,但因为你在ggplot()中使用了fill = cond,&nbsp;+ labs(color='NEW LEGEND TITLE')&nbsp;可能没有用。然而,更换颜色的填充,它的作品!+ labs(fill='NEW LEGEND TITLE')&nbsp;这在ggplot2_2.1.0中对我有用

萧十郎

由于你有两个密度,我想你可能想要设置自己的颜色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) +&nbsp; &nbsp;&nbsp; &nbsp; scale_fill_manual(legend_title,values=c("orange","red"))
打开App,查看更多内容
随时随地看视频慕课网APP