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

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

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


当前回答

将此添加到混合,当你改变了颜色。这也适用于我的qplot与两个离散变量:

p+ scale_fill_manual(values = Main_parties_color, name = "Main Parties")

其他回答

因为在你的代码中,你使用了ggplot(data, fill= cond)来创建直方图,你需要添加图例标题,同时在标签部分使用“fill”,即+实验室(fill=“标题名称”)。如果您正在使用不同类型的绘图,其中代码是ggplot(data, color = cond),那么您可以使用+实验室(color = "Title Name")。总之,lab参数必须与aes参数匹配。

我已经使用+ guides(fill=guide_legend("my awesome title"))来改变geom_bar图上的传说标题,但它似乎不适用于geom_point。

上面的代码都不适合我。

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

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

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

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

还有一个非常简单的答案,可以用于一些简单的图表。

只需在图中添加一个guide_legend()调用。

ggplot(...) + ... + guide_legend(title="my awesome title")

如ggplot文档中所示。

如果这不起作用,你可以通过调用guides来更精确地设置你的guide参数:

ggplot(...) + ... + guides(fill=guide_legend("my awesome title"))

您也可以通过为您的调用指南指定这些参数来改变形状/颜色/大小。

这应该可以工作:

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

唉,这些解决方案对我都不起作用。我正在使用brms::conditional_effects()的输出。

我的解决方案需要:

+实验室(fill = "新标题",color = "新标题",labels = "新标题")