首页 > 解决方案 > 在 R 中重命名图例值

问题描述

通过ggplot2,我学会了重命名 X 轴、Y 轴和各个图例。但是,我也想重命名图例值。

例如,为简单起见,我在数据集中使用 0 表示男性,使用 1 表示女性,当我显示它并将性别映射到美学时,我不希望图例读取 0 或 1 作为数据值,但是雄性和雌性。

或者,在下面的示例中,使用“4 轮驱动”、“前轮驱动”、“后轮驱动”代替“4”、“f”和“r”将使图表更易于理解。

library(tidyverse)

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, color = drv)) + labs(x = "Engine Size (Liters)", y = "Fuel Efficiency (Miles per Gallon)", color = "Drive")

在此处输入图像描述

我希望的是一种简单的方法来重命名图例中显示的值。

标签: rggplot2axis-labels

解决方案


您可以labels在比例中使用参数来自定义标签。您可以为labels参数提供函数或字符向量。

library(tidyverse)

ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy, color = drv)) + 
  labs(x = "Engine Size (Liters)", y = "Fuel Efficiency (Miles per Gallon)", color = "Drive") +
  scale_colour_discrete(
    labels = c("4" = "4 wheel drive",
               "f" = "front wheel drive",
               "r" = "rear wheel drive")
  )

reprex 包(v0.3.0)于 2020 年 12 月 23 日创建


推荐阅读