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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。