使用 r 中的 lines() 函数在绘图中添加一条线
本文将介绍如何使用 r 中的 lines()
函数在绘图中添加一条线。
在 r 中使用 lines()
函数的绘图中添加一条线
lines()
函数是 r graphics
包的一部分,用于向绘图添加线条。首先,应该调用 plot
函数来构造一个图,其中有一个由前两个参数指定的变量映射。请注意,表示 y 轴坐标的第二个参数是可选的。绘制绘图后,我们可以调用 lines()
函数并根据需要传递坐标向量以将线条添加到绘图中。plot
函数不需要为 lines()
函数绘制折线图。
library(stats)
library(babynames)
library(dplyr)
plot(cars$speed, cars$dist, type = "l", col = "red",
main = "title of the plot",
xlab = "speed (mph)",
ylab = "stopping distance (feet)")
lines(cars$speed, cars$dist/4 , col = "green")
legend("topleft", c("line 1", "line 2"),
lty = c(1,1),
col = c("red", "green"))
在 r 中使用 points
的绘图中添加点
与 lines()
函数类似,graphics
包提供了 points()
函数来在图中绘制点。以下示例演示了在同一绘图上进行两条线和点映射的场景。但是请注意,原始折线图是使用 plot
函数绘制的。
library(stats)
library(babynames)
library(dplyr)
plot(cars$speed, cars$dist, type = "l", col = "red",
main = "title of the plot",
xlab = "speed (mph)",
ylab = "stopping distance (feet)")
points(cars$speed, cars$dist, col = "blue" )
lines(cars$speed, cars$dist/4 , col = "green")
points(cars$speed, cars$dist/4 , col = "black")
legend("topleft", c("line 1", "line 2"),
lty = c(1,1),
col = c("red", "green"))
plot
和 lines
函数调用顺序影响绘图的比例
有时,使用第一个函数调用映射的数据的比例不足以进行后续映射。下一个代码片段显示其中一条线几乎超出了图中的边界。
library(stats)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("alice")) %>% filter(sex=="f")
dat2 <- babynames %>%
filter(name %in% c("mary")) %>% filter(sex=="f")
plot(dat$year, dat$n, type = "l", col = "blue",
main = "women born with different names",
xlab = "year",
ylab = "number of babies born")
lines(dat2$year, dat2$n, col = "red")
请注意
,可以通过手动重新排序行来解决上一个问题,如下例所示。但是,更复杂的脚本可能需要构造条件语句并动态检查 y 轴数据的最大值。
library(stats)
library(babynames)
library(dplyr)
dat <- babynames %>%
filter(name %in% c("alice")) %>% filter(sex=="f")
dat2 <- babynames %>%
filter(name %in% c("mary")) %>% filter(sex=="f")
dat3 <- babynames %>%
filter(name %in% c("mae")) %>% filter(sex=="f")
plot(dat2$year, dat2$n, type = "l", col = "blue",
main = "women born with different names",
xlab = "year",
ylab = "number of babies born")
lines(dat$year, dat$n, col = "red")
lines(dat3$year, dat3$n, col = "orange")
legend("topright", c("mary", "alice", "mae"),
lty = c(1,1,1),
col = c("blue", "red", "orange"))
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
发布时间:2024/02/05 浏览次数:207 分类:编程语言
-
本文介绍了如何交互式清除 r 控制台。
发布时间:2024/02/05 浏览次数:160 分类:编程语言
-
本文介绍如何用键盘或鼠标停止运行r代码。
发布时间:2024/02/05 浏览次数:223 分类:编程语言
-
本教程演示了如何设置 r 便携版。
发布时间:2023/03/21 浏览次数:72 分类:编程语言
-
一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更
发布时间:2023/03/21 浏览次数:198 分类:编程语言
-
在这篇文章中,你将会了解到两个在 r 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。
发布时间:2023/03/21 浏览次数:371 分类:编程语言
-
在本教程中,你将学习如何在 r 中编写一个函数,在不需要重新启动 r 的情况下清除环境。
发布时间:2023/03/21 浏览次数:164 分类:编程语言
-
本教程演示了如何检查 r 的版本。
发布时间:2023/03/21 浏览次数:222 分类:编程语言
-
本教程演示了如何在 r 中创建一个空向量。
发布时间:2023/03/21 浏览次数:176 分类:编程语言
-
本教程演示了如何在 r 向量中查找元素的索引。