如何重命名ggplot中的图例项?

Sim*_*mon 3 r ggplot2

您可以手动更改带有 ggplot 图例的项目吗?我目前有一个根据我的井号分组的地块。这些被归类为数字。对于其中一个网站,我想将其标记为一个角色,即 Fernhill。我可以手动重命名图例中的项目,还是必须在数据框中创建新字段?

onl*_*tom 12

使用或(或其他变体之一)labels中的参数分别指定每个图例项的名称。scale_fill_manualscale_color_manual

可重现的示例 1:

data(mtcars)
mtcars$cyl <- as.factor(mtcars$cyl)
mtcars$am <- as.factor(mtcars$am)

library(ggplot2)
ggplot(mtcars, aes(x=cyl, y=mpg, fill=am))+
  geom_boxplot() +
  scale_fill_manual(name="Gear Type",labels=c("Automatic", "Manual"), values=c("dodgerblue4", "firebrick4"))
Run Code Online (Sandbox Code Playgroud)

生产:

在此输入图像描述

请注意,我使用labels中的参数scale_fill_manual()是因为我通过 来填充美学fill

在下面的示例中,因为我使用的是颜色美学映射(而不是fill),scale_color_manual所以我将使用:

可重现的示例 2:

library(ggplot2)
ggplot(mtcars, aes(x=cyl, y=mpg, color=am))+
  geom_jitter() +
  scale_color_manual(name="Gear Type",labels=c("Automatic", "Manual"), values=c("dodgerblue4", "firebrick4"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 如果我不想分配颜色而只想更改标签怎么办? (2认同)

小智 6

如果您不想分配颜色而只想更改标签:

scale_color_*discrete*(name="Gear Type",labels=c("Automatic", "Manual"))
Run Code Online (Sandbox Code Playgroud)