R 中的 scale_colour_discrete 函数
本文将介绍如何在 R 中使用 scale_colour_discrete
。
使用 scale_colour_discrete
修改 R 中的 colour
比例标签
scale_colour_discrete
可用于修改通常需要具有离散值的 colour
比例标签。在这种情况下,我们演示了一个使用过滤后的 babynames
数据集的示例,从中仅提取了五个名字以使其更简单。我们使用 geom_line 绘制线图。x
/y
轴上的映射变量是婴儿的数量和他们出生的年份。由于名称映射到 colour
比例,它们将有一个图例,其中不同的颜色被映射到每个其中。使用 scale_colour_discrete
函数的 labels
参数,我们可以传递一个值向量,我们可以用它来替换现有的比例标签。
library(ggplot2)
library(gridExtra)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice", "Maude", "Mae",
"Annie", "Ella")) %>% filter(sex=="F")
p3 <- ggplot(dat, aes(x = year, y = n, colour = name)) +
geom_line() +
scale_colour_discrete(
labels = c("Al", "Mau", "Mae", "An", "El")) +
scale_y_continuous(
breaks = seq(0, 13000, 1000),
name = "Number of babies") +
scale_x_continuous(
breaks = seq(1880, 2017, 12),
name = "Year") +
theme(
legend.position = "left",
legend.background = element_rect(fill = "white", colour = "black"),
plot.title = element_text(
size = rel(1.2), lineheight = .9,
family = "Calibri", face = "bold", colour = "brown"
)) +
ggtitle("Name Popularity Through Years")
p3
使用 scale_colour_discrete
修改 R 中的 colour
比例名称
scale_colour_discrete
函数的另一个有用参数是 name
,它控制 colour
刻度标题。自定义字符串值可以分配给 name
参数,这会在以下示例代码中生成修改后的图例名称。
library(ggplot2)
library(gridExtra)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice", "Maude", "Mae",
"Annie", "Ella")) %>% filter(sex=="F")
p3 <- ggplot(dat, aes(x = year, y = n, colour = name)) +
geom_line() +
scale_colour_discrete(
name = "Name",
labels = c("Al", "Mau", "Mae", "An", "El")) +
scale_y_continuous(
breaks = seq(0, 13000, 1000),
name = "Number of babies") +
scale_x_continuous(
breaks = seq(1880, 2017, 12),
name = "Year") +
theme(
legend.position = "left",
legend.background = element_rect(fill = "white", colour = "black"),
plot.title = element_text(
size = rel(1.2), lineheight = .9,
family = "Calibri", face = "bold", colour = "brown"
)) +
ggtitle("Name Popularity Through Years")
p3
前面的图在单个面板上绘制所有线条,但我们可以使用 facet_wrap
函数在单独的一个面板上输出每条线。facet_wrap
将需要映射的变量作为第一个参数。
library(ggplot2)
library(gridExtra)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("Alice", "Maude", "Mae",
"Annie", "Ella")) %>% filter(sex=="F")
p4 <- ggplot(dat, aes(x = year, y = n, colour = name)) +
geom_line() +
scale_colour_discrete(
name = "Name",
labels = c("Al", "Mau", "Mae", "An", "El")) +
scale_y_continuous(
breaks = seq(0, 13000, 1000),
name = "Number of babies") +
scale_x_continuous(
breaks = seq(1880, 2017, 12),
name = "Year") +
theme(
legend.position = "left",
legend.background = element_rect(fill = "white", colour = "black"),
plot.title = element_text(
size = rel(1.2), lineheight = .9,
family = "Calibri", face = "bold", colour = "brown"
)) +
ggtitle("Name Popularity Through Years") +
facet_wrap(vars(name))
p4
相关文章
MySQL 中 schema 和 database 之间的区别
发布时间:2024/03/25 浏览次数:234 分类:MySQL
-
本教程将向你介绍 Schema、Database 以及它们之间的主要区别。它还强调了 MySQL 和 Oracle 中的模式和数据库。
HTML Script Type 属性的使用
发布时间:2024/03/19 浏览次数:81 分类:JavaScript
-
本教程展示了 HTML5、HTML 4.01、XHTML 和 VBScripts 中 HTML 脚本类型属性的使用。
使用 PowerShell 将文件从 Windows 复制到 Linux
发布时间:2024/02/08 浏览次数:571 分类:编程语言
-
本教程将教你使用 PowerShell 将文件从 Windows 复制到 Linux。
如何在 Java 中从控制台获取输入
发布时间:2023/11/28 浏览次数:177 分类:Java
-
本教程展示了 Scanner 类中包含的读取控制台输入的各种功能。在本教程中,我们将查看 Java 中的 Scanner 类,并学习如何使用该类从控制台读取输入。Scanner 类来自于 Java 包 java.util.Scanner。
修复 Java Scanner NextLine Skips 错误
发布时间:2023/11/13 浏览次数:76 分类:Java
-
本文讨论了 Java Scanner NextLine 跳过的原因以及如何修复它在 Java 中的 next() 或 nextInt() 方法之后使用 nextLine() 方法时,有时 nextLine() 方法会跳过要读取的当前输入并转到下一个输入。
在 Java 中使用 Scanner 时没有此类元素异常
发布时间:2023/07/13 浏览次数:81 分类:Java
-
本篇文章将介绍如何在 Java 中使用 Scanner 时解决 NoSuchElementException 错误。在 Java 中使用 Scanner 时没有此类元素异常 Scanner 类用于在 Java 程序中获取用户输入。 它使用多种实用方法,如 next()、
Python 中错误 IndexError: Invalid Index to Scalar Variable
发布时间:2023/07/09 浏览次数:1976 分类:Python
-
Python 中什么是 IndexError:invalid index to scalar variable 当您滥用 numpy 数组的索引时,Python 中会出现 IndexError: invalid index to scalar variable。
Python 中的 Schedule
发布时间:2023/07/03 浏览次数:250 分类:Python
-
本篇文章将介绍 Python 中的 Schedule 包,以在特定时间间隔后定期安排作业。Schedule是Python中的一个轻量级进程调度程序库 在 Python 中安装 Schedule 库
在 Python 中使用 SciPy、NumPy 和 Pandas 存储数据
发布时间:2023/06/28 浏览次数:202 分类:Python
-
我们将了解为什么需要数据分箱以及哪种技术最适合哪种情况。Python 中的分箱 分箱是推断不同变量关系的最强大的分析技术之一。分箱是一种非参数且高度灵活的技术,其中变量被分类为不同