我有如下图 . 它是使用此命令创建的:
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")
接下来我要做的就是将图例 Headers 从 cond 修改为 NEW LEGEND TITLE .
所以我所做的只是添加以下行添加上面代码的结尾:
+labs(colour="NEW LEGEND TITLE")
但它不起作用 . 什么是正确的方法呢?
8 回答
还有一个非常简单的答案可以用于一些简单的图表 .
只需在图表中添加对guide_legend()的调用即可 .
如非常好的ggplot docs所示 .
如果这不起作用,您可以通过调用guides来更精确地设置指南参数:
您还可以通过为
guides
调用指定这些参数来改变形状/颜色/大小 .我在我的ggplot中使用了facet_wrap,除了ArnaudA的解决方案之外,没有任何建议的解决方案适用于我:
以上代码都不适合我 .
这是我发现的,它的工作原理 .
labs(color = "sale year")
您还可以通过在末尾添加
\n
来在 Headers 和显示之间添加空格 .labs(color = 'sale year\n")
您还可以添加一行(最后一行):
我没有深入研究这个,但因为你在ggplot()中使用了 fill=cond ,
可能没有用 . 但是你用 fill 替换 color ,它有效!
这在ggplot2_2.1.0中对我有用
附:我会评论,但我的stackoverflow声誉不足以评论 .
由于你有两个密度,我想你可能想用
scale_fill_manual
设置自己的颜色 .如果是这样,你可以做到:
由于在您的代码中使用
ggplot(data, fill= cond)
来创建直方图,您还需要在标签部分使用"fill"添加图例 Headers ,即+labs(fill="Title name")
. 如果您使用的是不同类型的绘图,其中代码为ggplot(data,color = cond),则可以使用+labs(colour= "Title Name")
. 总之,lab参数必须与aes参数匹配 .我已经使用
+ guides(fill=guide_legend("my awesome title"))
来更改geom_bar图上的图例 Headers ,但它似乎不适用于geom_point .这应该工作:
(或者)