2009-09-05 6 views
6

Chcę utworzyć wykres pary w R, który ma etykiety na przekątnej zapisane jako greckie litery. Próbowałem już utworzyć niestandardową funkcję text.panel, która opakowuje etykiety w wywołaniu expression(), ale to nie działa.Jak wydrukować greckie litery na przekątnej wykresu par w R?

Oto prosty przypadek testowy:

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) 

Odpowiedz

5

expression(lab) faktycznie nie oceniać lab tak skończy się wszystkie etykiety są lab. Zamiast tego możesz zmienić tę linię na:

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

która zrobi to, co chcesz. Zauważ, że funkcja pairs również przyjmuje argument etykiet, więc to też działa:

pairs(dat, labels=c(expression(alpha), expression(beta), expression(gamma))) 
Powiązane problemy