2012-03-02 41 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