我使用lower.panel和upper.panel選項來繪製我的數據的pairs()圖,還沒有弄清楚如果可以配置子面板的軸。例如,如果我使用data(iris)
,pairs(iris[1:4],xlim=c(0,10))
給出了一個圖,其中子圖的所有x軸都從0縮放到10.R,pairs():在指定下/上面板時配置子面板的軸
如果我嘗試pairs(iris[1:4],xlim=c(0,10),lower.panel=panel.lm)
,它仍能正常工作。只要我從pairs()
的幫助文件嘗試面板功能panel.cor
,就會收到錯誤 unused argument (xlim = c(0, 10))
。
我比較了panel.lm
和panel.cor
的代碼,但我沒有進一步瞭解需要調整設置的位置。除了設置xlim
和ylim
之外,指定是否應該在各個上下面板中標記軸,這是非常好的,但我不知道這是否要求太高。
供參考,在這裏是從R幫助文件中的兩個函數:
panel.lm<-
function (x, y, col = par("col"), bg = NA, pch = par("pch"),
cex = 1, col.lm = "red", lwd=par("lwd"), ...)
{
points(x, y, pch = pch, col = col, bg = bg, cex = cex)
ok <- is.finite(x) & is.finite(y)
if (any(ok))
abline(lm(y~x,subset=ok), col = col.lm, ...)
}
panel.cor <- function(x, y, digits=2, prefix="r = ", cex.cor)
{
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r <- cor(x, y)
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex * abs(r))
}