p <- ggplot(mpg, aes(x= displ, y= hwy, fill = drv)) +
geom_bar(stat = "identity") +
scale_fill_manual(values = c("forestgreen", "blue", "deepred"))
当我添加以下代码来更改图例标签时:
p + scale_fill_discrete(labels = c("4wd", "front", " rear"))
我收到此错误警告:
'fill'的比例已经存在。为'fill'添加另一个比例, 这将取代现有的规模。
因此它取代了现有的比例并返回到第一比例。如何预防?
答案 0 :(得分:2)
您需要同时提供值和标签。
library(ggplot2)
ggplot(mpg, aes(x= displ, y= hwy, fill = drv)) +
geom_bar(stat = "identity") +
scale_fill_manual(
values = c("forestgreen", "blue", "darkred"),
labels = c("4wd", "front", " rear")
)
如果由于某种原因你有一个带有比例的图并想要更新比例,那也没关系,但你需要立即设置所需的所有参数。
library(ggplot2)
p <- ggplot(mpg, aes(x= displ, y= hwy, fill = drv)) +
geom_bar(stat = "identity") +
scale_fill_manual(
values = c("forestgreen", "blue", "darkred")
)
p + scale_fill_manual(
values = c("forestgreen", "blue", "darkred"),
labels = c("4wd", "front", " rear")
)
#> Scale for 'fill' is already present. Adding another scale for 'fill',
#> which will replace the existing scale.