pairs
位于 graphics
包(package)。 说明
生成散点图矩阵。
用法
pairs(x, ...)
## S3 method for class 'formula'
pairs(formula, data = NULL, ..., subset,
na.action = stats::na.pass)
## Default S3 method:
pairs(x, labels, panel = points, ...,
horInd = 1:nc, verInd = 1:nc,
lower.panel = panel, upper.panel = panel,
diag.panel = NULL, text.panel = textPanel,
label.pos = 0.5 + has.diag/3, line.main = 3,
cex.labels = NULL, font.labels = 1,
row1attop = TRUE, gap = 1, log = "",
horOdd = !row1attop, verOdd = !row1attop)
参数
x |
以矩阵或 DataFrame 的数字列形式给出的点的坐标。逻辑列和因子列以与 |
formula |
公式,例如 |
data |
data.frame(或列表),应从中获取 |
subset |
一个可选向量,指定用于绘图的观测值子集。 |
na.action |
一个函数,指示当数据包含 |
labels |
变量的名称。 |
panel |
|
... |
传入或传出方法的参数。 此外,graphical parameters 可以作为 |
horInd, verInd |
分别在水平轴和垂直轴上绘制的变量的(数字)索引。 |
lower.panel, upper.panel |
分别在对角线下方和上方使用单独的面板函数(或 |
diag.panel |
可选的 |
text.panel |
可选的 |
label.pos |
|
line.main |
如果指定了 |
cex.labels, font.labels |
文本面板的图形参数。 |
row1attop |
合乎逻辑的。布局应该是第 1 行在顶部的矩阵式布局,还是第 1 行在底部的graph-like?后者(非默认)会产生基本对称的散点图矩阵。 |
gap |
子图之间的距离(以边线为单位)。 |
log |
指示是否使用对数轴的字符串,请参阅 |
horOdd, verOdd |
|
细节
x[,j]
绘制的 x[,i]
。可以通过设置面板函数来自定义散点图,使其显示为完全不同的东西。非对角面板函数通过 x
的相应列作为 x
和 y
:对角面板函数(如果有)通过单个列传递,text.panel
函数通过单个 (x, y)
位置和列名称。将其中一些面板函数设置为 NULL
相当于不在那里绘制任何内容。 散点图包含针对
graphical parameters pch
和 col
可用于指定绘图符号和要在绘图中使用的颜色的向量。
除非作为参数提供,否则graphical parameter oma
将由pairs.default
设置。
面板函数不应尝试开始新绘图,而应仅在给定坐标系内进行绘图:因此 plot
和 boxplot
不是面板函数。
默认情况下,缺失值会传递给面板函数,并且通常会在面板中被忽略。但是,对于公式方法和 na.action = na.omit
,所有包含任何变量缺失值的情况都将被完全忽略(包括选择尺度时)。
参数horInd
和verInd
被介绍于R3.2.0。如果给定相同的值,它们可用于选择或重新排序变量:具有不同范围的连续值,它们可用于绘制完整对图的矩形窗口;在后一种情况下,‘diagonal’ 指的是整个图的对角线。
例子
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 species",
pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])
## formula method, "graph" layout (row 1 at bottom):
pairs(~ Fertility + Education + Catholic, data = swiss, row1attop=FALSE,
subset = Education < 20, main = "Swiss data, Education < 20")
pairs(USJudgeRatings, gap=1/10) # (gap: not wasting plotting area)
## show only lower triangle (and suppress labeling for whatever reason):
pairs(USJudgeRatings, text.panel = NULL, upper.panel = NULL)
## put histograms on the diagonal
panel.hist <- function(x, ...)
{
usr <- par("usr")
par(usr = c(usr[1:2], 0, 1.5) )
h <- hist(x, plot = FALSE)
breaks <- h$breaks; nB <- length(breaks)
y <- h$counts; y <- y/max(y)
rect(breaks[-nB], 0, breaks[-1], y, col = "cyan", ...)
}
pairs(USJudgeRatings[1:5], panel = panel.smooth,
cex = 1.5, pch = 24, bg = "light blue", horOdd=TRUE,
diag.panel = panel.hist, cex.labels = 2, font.labels = 2)
## put (absolute) correlations on the upper panels,
## with size proportional to the correlations.
panel.cor <- function(x, y, digits = 2, prefix = "", cex.cor, ...)
{
par(usr = c(0, 1, 0, 1))
r <- abs(cor(x, y))
txt <- format(c(r, 0.123456789), digits = digits)[1]
txt <- paste0(prefix, txt)
if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex.cor * r)
}
pairs(USJudgeRatings, lower.panel = panel.smooth, upper.panel = panel.cor,
gap=0, row1attop=FALSE)
pairs(iris[-5], log = "xy") # plot all variables on log scale
pairs(iris, log = 1:4, # log the first four
main = "Lengths and Widths in [log]", line.main=1.5, oma=c(2,2,3,2))
作者
Enhancements for R 1.0.0 contributed by Dr. Jens Oehlschlägel-Akiyoshi and R-core members.
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
相关用法
- R par 设置或查询图形参数
- R panel.smooth 简单面板图
- R plot.histogram 绘制直方图
- R points 向绘图添加点
- R plot.raster 绘制光栅图像
- R plot.factor 绘制因子变量
- R plot.table 表对象的绘图方法
- R polygon 多边形绘制
- R plot.default 默认散点图函数
- R plot.window 设置图形窗口的世界坐标
- R plot.xy 基本内部绘图函数
- R persp 透视图
- R pie 饼状图
- R polypath 路径绘制
- R plot.design 绘制设计或模型的单变量效应
- R plot.formula 散点图的公式表示法
- R plot.data.frame DataFrame 的绘图方法
- R legend 将图例添加到绘图中
- R barplot 条形图
- R stem 茎叶图
- R mtext 将文本写入绘图的边距
- R arrows 将箭头添加到绘图中
- R contour 显示轮廓
- R stars 星图(蜘蛛图/雷达图)和线段图
- R box 在地块周围画一个方框
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Scatterplot Matrices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。