2009-09-05 10 views
6

私は対角線上にギリシャ文字で書かれたラベルを持つRのペアプロットを作成したいと思います。私は、expression()呼び出しでラベルをラップするカスタムtext.panel関数を作成しようとしましたが、これは機能しません。ここでRのペアプロットの対角にギリシャ文字を印刷するにはどうすればよいですか?

は、簡単なテストケースである:

pairs.greek <- function(x, ...) 
{ 
    panel.txt <- function(x, y, labels, cex, font, ...) 
    { 
    lab <- labels 
    text(0.5, 0.5, expression(lab), cex=cex, font=font) 
    } 
    pairs(x, text.panel=panel.txt) 
} 
dat <- data.frame(alpha=runif(10), beta=runif(10), gamma=runif(10)) 
pairs.greek(dat) 

答えて

5

expression(lab)は実際にそうあなたはすべてのラベルがlabことで終わるlabを評価しません。代わりに、その行を次のように変更することができます。

text(0.5, 0.5, parse(text=lab), cex=cex, font=font) 

pairs関数もlabels引数を受け入れるので、これも機能します:

pairs(dat, labels=c(expression(alpha), expression(beta), expression(gamma))) 
関連する問題