2012-03-02 4 views
1

プロットのパネル背景をRに色分けします。斜めのパネル(変数名が表示される場所)をどのように色付けできますか?ご覧のとおり、私はそれを試しましたが、変数の名前は(何らかの理由で)正しく整列されていません。R:pairs()プロットの対角パネルを色分けする方法は?

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機能を、指定したときにhas.diagTRUEに設定されている0.5 + has.diag/3、ように見えますデフォルトは0.5 + 1/3です。正直なところ、なぜそうなるのか分かりません。

考えられるのは、対角線に対して独自のプロット関数を定義すると、それらのパネルにデータをプロットしていることが前提となるため、デフォルトラベルの位置をパネル...?

+0

ありがとう、ジョラン、完璧に解決。 –