2010-05-23 11 views
5

Ho cercato here ma non riesco ancora a capirlo. Come posso cambiare le etichette strip.text.x in un ggplot con la sfaccettatura? Nello specifico sto usando facet_grid con i margini. L'etichetta strip.text per il margine è "(all)" - ma dal momento che sono in un paese di lingua inglese preferisco scrivere "Total" o qualcosa di simile nella mia lingua madre.come cambiare le etichette strip.text in ggplot con facet e margin = TRUE

opts(stip.text.x=c(levels(facetvariabel,"Total")) does not work. 

Qualche idea?

Esempio (non proprio il migliore set di dati per questo - ma credo che funzionerà)

ggplot(cars, aes(x=dist))+geom_bar()+facet_grid(.~speed, margin=T) 
+0

Duplicate: vedi anche http : //stackoverflow.com/questions/3472980/ggplot-how-to-change-facet-labels – naught101

+1

@ naught101 Giusto per essere chiari - questa domanda è stata posta a maggio, mentre l'altra domanda è stata presentata ad agosto. – Andreas

risposta

10

È possibile personalizzare le etichette sfaccettatura dando funzione etichettatrice:

f <- function(x, y) { 
    if (x == "speed") 
    c(y[-length(y)], "Total") 
    else 
    y 
} 

ggplot(cars, aes(x = dist)) + 
    geom_bar() + 
    facet_grid(. ~ speed, margin = TRUE, labeller = f) 
+0

Grazie mille! - Ho provato l'etichettatrice - ma sono stata lanciata da ... Questo è stato molto utile. La mia soluzione finale doveva però incollare: f <-function (x, y) {if (x == "spped") {c (incolla (y [-length (y)]), "Total")} else y} Grazie ancora !!! – Andreas