修改 ggplot 图例标题

10

这是我的ggplot代码。我如何最简单地更改图例的标题?我知道我可以只需更改gg_group变量为my_title <- c(rep("train",10), rep("validation", 10))。但我想仅更改标题为"我想要的任何内容",而不更改任何变量。

library(ggplot2)
y <- c(rnorm(10,1), rnorm(10,3))
x <- rep(seq(1,10,1),2)
gg_group <- c(rep("train",10), rep("validation", 10))

gg_data <- data.frame(y=y, x=x, gg_group=gg_group)

p <- ggplot(gg_data, aes(x=x, y=y, group=gg_group))
p + geom_line(aes(colour=gg_group))

我也尝试过这段代码:

p + geom_line(aes(colour=gg_group)) + scale_shape_discrete(name="Dataset",labels=c("Train", "Validation"))

但是它并没有起作用。*编辑,检查Jaap和JasonAizkalns的优秀答案。


2
你可能想要使用scale_color_discrete - Jaap
2个回答

11

@Jaap 是正确的。如果你使用 scale_color_discrete,你可以通过 name 来更改图例的名称,并且不需要传递任何参数到 labels ,因为它们将默认使用在你的 colour 美学中定义的名称。这考虑到以下差异:

p + geom_line(aes(colour = gg_group)) +
  scale_color_discrete(name = "Dataset")

p + geom_line(aes(colour = gg_group)) +
  scale_color_discrete(name = "Dataset", 
                       labels = c("New Label 01", "New Label 02"))

5

原因是您在ggplot代码中没有使用shape。相反,您应该使用以下代码:scale_color_discrete

scale_color_discrete("Dataset")

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