Ho un set di dati da cui desidero tracciare piccoli multipli, in particolare in una matrice 2-by-2, in questo modo:Come aggiungere espressioni alle etichette in facet_wrap?
mydf <- data.frame(letter = factor(rep(c("A", "B", "C", "D"), each = 20)), x = rnorm(80), y = rnorm(80))
ggplot(mydf, aes(x = x, y = y)) + geom_smooth(method = "lm") + geom_point() + facet_wrap(~ letter, ncol = 2)
Tuttavia, voglio ogni etichetta sfaccettatura per includere un'espressione, come
expression(paste("A or ", alpha))
posso fare questo accadere utilizzando facet_grid()
via
f_names <- list('A' = expression(paste("A or ", alpha)), 'B' = expression(paste("B or ", beta)), 'C' = expression(paste("C or ", gamma)), 'D' = expression(paste("D or ", delta)))
f_labeller <- function(variable, value){return(f_names[value])}
ggplot(mydf, aes(x = x, y = y)) + geom_smooth(method = "lm") + geom_point() + facet_grid(~ letter, labeller = f_labeller)
Ma poi ho perso la matrice 2-by-2. Come posso rinominare le faccette facet_wrap()
con un'espressione? Oppure, come posso risolvere questo problema ricreando l'array 2-by-2 usando facet_grid()
, ma solo sfaccettature di una singola variabile?
(Questa domanda costruisce fuori della nota tra parentesi a @ Baptiste risposta a this previous question.)
Grazie!
Questo aiuto: http://stackoverflow.com/questions/10151123/how-to-specify-columns-in-facet-grid-or-how-to-change-labels-in-facet-wrap –
@ Battista: Sì! Grazie, la funzione 'facet_wrap_labeller()' nel Q & A a cui hai collegato funziona alla grande. @Ricardo: Grazie per questo link - avevo trovato quella risposta, e mi ha spinto verso la domanda in origine. Grazie a tutti e due. – RTM