如何在 R 中叠加图?
在本文中,我们将讨论如何在 R 编程语言中叠加绘图。
叠加是一种用于在单个帧上绘制多个图的技术。要在 R 语言中绘制多个图,我们绘制一个基本图并使用 lines() 和 points()函数添加叠加线图或散点图。这条线和散点图叠加可以绘制在 R 语言中的任何层之上。
方法 1:在 R 中叠加线图
为了覆盖 R 语言中的线图,我们使用 lines()函数。 lines()函数是一个通用函数,它通过从数据框中获取坐标并将对应的点与线段连接起来来覆盖线图。我们可以通过使用 lty、lwd 和 col 参数来进一步自定义该线图,分别自定义线型、线宽和线色。
Syntax:
points( x, y, ltype, lwd, col )
Parameter:
- x and y: determines the x-axis and y-axis variables respectively.
- lty: determines the line type.
- lwd: determines the line width.
- col: determines the color of line.
示例:叠加线图
R
# define sample data frames
sample_data <- data.frame(x=c(1, 2, 3, 4, 5),
y1 = c(7, 10, 26, 39, 5),
y2 = c(4, 14, 16, 29, 15),
y3 = c(2, 13, 36, 19, 25),
y4 = c(8, 11, 6, 9, 35))
# create base scatter plot
plot(sample_data$x, sample_data$y1)
# overlay line plot
lines(sample_data$x, sample_data$y2, col='green', lwd=2)
lines(sample_data$x, sample_data$y3, col='red', lwd=1)
lines(sample_data$x, sample_data$y4, col='blue', lty="dashed")
R
# define sample data frames
sample_data <- data.frame(x=c(1, 2, 3, 4, 5),
y1 = c(7, 10, 26, 39, 5),
y2 = c(4, 14, 16, 29, 15),
y3 = c(2, 13, 36, 19, 25),
y4 = c(8, 11, 6, 9, 35))
# create base scatter plot
plot(sample_data$x, sample_data$y1)
# overlay scatter plot
points(sample_data$x, sample_data$y2, col='green', pch=12)
points(sample_data$x, sample_data$y3, col='red', pch=13)
points(sample_data$x, sample_data$y4, col='blue')
输出:
方法 2:R 中的叠加散点图
为了覆盖 R 语言中的散点图,我们使用 points()函数。 points()函数是一个通用函数,它通过从数据框中获取坐标并绘制相应的点来覆盖散点图。我们可以通过使用 pch 和 col 参数分别自定义点形状和点颜色来进一步自定义该散点图。
Syntax:
points( x, y, pch, col )
Parameter:
- x and y: determine the x-axis and y-axis variables respectively.
- pch: determines the point shape.
- col: determines the color of points.
示例:叠加散点图
R
# define sample data frames
sample_data <- data.frame(x=c(1, 2, 3, 4, 5),
y1 = c(7, 10, 26, 39, 5),
y2 = c(4, 14, 16, 29, 15),
y3 = c(2, 13, 36, 19, 25),
y4 = c(8, 11, 6, 9, 35))
# create base scatter plot
plot(sample_data$x, sample_data$y1)
# overlay scatter plot
points(sample_data$x, sample_data$y2, col='green', pch=12)
points(sample_data$x, sample_data$y3, col='red', pch=13)
points(sample_data$x, sample_data$y4, col='blue')
输出: