2010-05-23 18 views
5

J'ai regardé here mais ne peux toujours pas comprendre dehors. Comment modifier les étiquettes strip.text.x dans un ggplot avec facettage? Plus précisément, j'utilise facet_grid avec des marges. L'étiquette strip.text pour la marge est "(all)" - mais étant donné que je suis dans un pays non anglophone je préfère écrire "Total" ou quelque chose de similaire dans ma langue maternelle.comment changer les étiquettes strip.text dans ggplot avec la facette et la marge = VRAI

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

Des idées?

Exemple (pas vraiment le meilleur jeu de données pour cela - mais je suppose que cela va fonctionner)

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

double: voir aussi http : //stackoverflow.com/questions/3472980/ggplot-how-to-change-facet-labels – naught101

+1

@ naught101 Juste pour être clair - cette question a été posée en mai, alors que l'autre question a été posée en août. – Andreas

Répondre

10

Vous pouvez personnaliser les étiquettes des facettes en donnant la fonction étiqueteuse:

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

Merci beaucoup! - J'ai essayé l'étiqueteuse - mais j'ai été jeté ... C'était très utile. Ma solution finale nécessitait de coller: f <-fonction (x, y) {if (x == "spped") {c (coller (y [-longueur (y)]), "Total")} else y} Merci encore !!! – Andreas