在 R 中的一个窗口中绘制多个点阵图
在本文中,我们将讨论如何在一个窗口中绘制多个点阵图。
使用的模块
- 点阵:点阵包使用网格包来提供更好的数据之间的关系。它是一个用于实现网格图形(显示共同调节的变量之间关系的图形)的附加包。
- gridExtra:这个包提供了多个函数,这些函数定义了用于排列多个图的各种网格。
这两个软件包都必须明确安装在系统上。首先,我们需要设置一个数据框,其中包含要绘制在 x 轴和 y 轴上的数据以及可用于区分晶格的另一列。对于此列的每个唯一值,将生成不同的点阵图。
单独的点阵图是通过 xyplot()函数创建的,这个函数产生一个散点图。对于每一行,特定条件决定它应该放置在哪个格子中。
Syntax:
xyplot(formula, data, ..)
Parameter:
- formula: To specify certain condition
- data: dataframe to be plotted
一旦所有的点阵图都准备好了,就可以将它们排列在一个窗口中,以便使用 gridExtra 包的这个排列()函数。
R语言中的arrange()函数用于在列名作为传递给函数的表达式的帮助下对表行进行重新排序。
Syntax: arrange(x, expr)
Parameters:
x: data set to be reordered
expr: logical expression with column name
例子:
R
library(lattice)
library(gridExtra)
df<-data.frame(x = rnorm(100),
y = rnorm(100),
z = c(rep("A", 35),
rep("B", 40),
rep("C", 25))
)
df
lat1 <- xyplot(y~x,df[df$z == 'A',])
lat2 <- xyplot(y~x,df[df$z == 'B',])
lat3 <- xyplot(y~x,df[df$z == 'C',])
grid.arrange(lat1, lat2, lat3, ncol = 3)
输出: