2012-03-02 37 views
1

以下代码着色了Rpairs图的面板背景。我如何着色对角面板(变量名称被打印)?正如你所看到的,我试过了,但变量名没有正确对齐(无论出于何种原因)。R:如何在对()图中对角线面板着色?

count <- 0 
mypanel <- function(x, y, ...){ 

    count <<- count+1 
    bg <- if(count %in% c(1,4,9,12)) "#FDFF65" else "transparent" ll <- par("usr") 
    rect(ll[1], ll[3], ll[2], ll[4], col=bg) points(x, y, cex=0.5) 
} 

mydiag.panel <- function(x, ...){ 

    ll <- par("usr") 
    rect(ll[1], ll[3], ll[2], ll[4], col="#FDFF65") } 

U <- matrix(runif(4*500), ncol=4) 
pairs(U, panel=mypanel, diag.panel=mydiag.panel) 

回答

2

明确设置label.pos = 0.5似乎为我工作:

pairs(U,panel = mypanel, diag.panel=mydiag.panel,label.pos = 0.5) 

当您指定自己的自定义diag.panel功能,这最终改变默认显示为0.5 + has.diag/3,其中has.diag设置为TRUE默认为0.5 + 1/3。老实说,我不确定这是为什么。

可能的想法是,如果您为对角线定义了自己的绘图函数,则假设您正在绘制这些面板中的数据,因此将默认标签位置从中心移开面板...?

+0

谢谢,乔兰,完美解决。 – 2012-03-02 15:59:36