给定以下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
或其他方式实现这一目标。 最佳答案
scale_color_discrete
怎么样
p + scale_color_discrete(labels=letters[1:3])