r - 在 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")
- 一种选择是打开 Excel 文件并将特定列中的所有 0 和 1 更改为“男性”和“女性”。
- 另一种选择是重命名 R 中的值,但我完全不知道该怎么做。我对 R 很陌生。
我希望的是一种简单的方法来重命名图例中显示的值。
解决方案
您可以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 日创建
推荐阅读
- macos - 我可以将 MacOS cmd 键映射到 Kitty 终端上的 ctrl 键吗?
- arrays - 将 JSON 转换为数组 Typescript
- node.js - Typescript ESLint 声明文件
- javascript - 为什么要删除输入类型=“数字”中的增加/减少数字?
- clickhouse - ClickHouse 是否支持地图字段?
- html - SQL 仅存储当前日期而不是选定日期
- php - 将值从输入存储到数据库
- matlab - 在 Matlab 中使用事件侦听器而不是函数回调的好处
- dialogflow-es - 如果文本中未指定时间,DialogFlow 将 12:00:00 设置为一天的开始
- php - 当 url 必须在 domain.com/yyy 上打开时如何配置 laravel web