2010-05-23 13 views
5

ändern Ich habe here geschaut, kann es aber immer noch nicht herausfinden. Wie ändere ich die strip.text.x-Labels in einem ggplot mit Facettierung? Speziell verwende ich facet_grid mit Rändern. Das strip.text Label für den Rand ist "(alle)" - aber da ich in einem nicht englischsprachigen Land bin, würde ich eher "Total" oder etwas Ähnliches in meiner Muttersprache schreiben.Wie man strip.text Etiketten in ggplot mit Facette und Rand = TRUE

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

Irgendwelche Ideen?

Beispiel (nicht wirklich die beste Datensatz für diese - aber ich denke, es wird funktionieren)

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

Duplizieren: siehe auch http : //stackoverflow.com/questions/3472980/ggplot-how-to-change-facet-labels – naught101

+1

@ naught101 Nur um klar zu sein - diese Frage wurde im Mai gestellt, während die andere Frage im August gestellt wurde. – Andreas

Antwort

10

Sie können die Facette Etiketten gestalten Etikettierer Funktion geben:

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

Vielen Dank! - Ich habe versucht Labeler - aber wurde geworfen von ... Das war sehr hilfreich. Meine letzte Lösung benötigt aber Paste: f <-Funktion (x, y) {if (x == "spped") {c (einfügen (y [-Länge (y)]), "Total")} else y} Danke nochmal !!! – Andreas