在ggplot2中,如何更改图例标签但保持颜色不变?

4

给定以下ggplot图表:

p <- ggplot(mtcars, aes(mpg, wt)) + geom_point(aes(colour = factor(cyl)))

如果我想要更改图例的标签,可以按照以下步骤进行操作:
p + scale_color_manual(labels = c("X", "Y", "Z"), values = 1:3)

如果我只想改变标签而保留颜色,我该怎么做呢?我尝试使用以下公式:

p + scale_color_manual(labels = c("X", "Y", "Z"))

出现错误,提示:Error in f(...) : argument "values" is missing, with no default

当然,我可以通过设置因子cyl来实现这一点:

mtcars$cyl = as.factor(mtcars$cyl, labels = c("X", "Y", "Z"))
ggplot(mtcars, aes(mpg, wt)) + geom_point(aes(colour = factor(cyl)))

我想知道在scale_color_manual或其他方法中是否可以实现这个目标。

1个回答

5

scale_color_discrete 怎么样?

p + scale_color_discrete(labels=letters[1:3])

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