2016-12-27 2 views
-4

Je voudrais avoir une intrigue à facettes, les étiquettes devraient être «13 ℃», «20 ℃», «27 ℃». J'ai essayé de le faire dans l'ensemble de données, parfois cela fonctionne, mais pas toujours. Y a-t-il d'autres solutions? Merci pour vos commentaires. facet plotSymboles de température dans les étiquettes de facette

+3

Man, au moins fournir un MWE de ce que vous avez déjà à produire ce qui précède. – wilx

+0

Pour mémoire, [ceci est un guide pour faire un MWE] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) comme noté @wilx. – bouncyball

+1

@bouncyball Merci! J'ai vérifié la question du lien, je le ferai la prochaine fois. Merci beaucoup pour votre aimable suggestion! –

Répondre

4

Vous pouvez faire:

données Exemple:

df=structure(list(variable = c(13L, 13L, 13L, 13L, 14L, 14L, 14L, 
14L, 15L, 15L, 15L, 15L, 16L, 16L, 16L, 16L, 17L, 17L, 17L, 17L, 
18L, 18L, 18L, 18L, 19L, 19L, 19L, 19L), value = c(480L, 720L, 
460L, 220L, 780L, 350L, 480L, 240L, 431L, 377L, 179L, 876L, 295L, 
255L, 560L, 789L, 670L, 340L, 60L, 820L, 360L, 615L, 735L, 100L, 
190L, 345L, 1260L, 75L), grp = c("A", "A", "A", "A", "A", "A", 
"A", "A", "A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", 
"B", "B", "B", "B", "B", "B", "B", "B", "B")), .Names = c("variable", 
"value", "grp"), row.names = c(NA, -28L), class = "data.frame") 

library(ggplot2) 
ggplot(df,aes(value)) + 
    geom_density() + 
    facet_grid(grp ~variable,labeller =labeller(.cols = function(string) paste(string, "°C"))) 

ou

ggplot(df,aes(value)) + 
    geom_density() + 
    facet_grid(grp ~variable,labeller =labeller(variable = function(string) paste(string, "°C"))) 

enter image description here Edit: selon le commentaire de aosmith J'ai changé la fonction à quelque chose de plus compact que les impacts seulement 1 variable

+1

Belle solution. Il pourrait être plus propre si vous définissez la 'fonction' _outside_ de l'appel à' facet_wrap', cependant. – bouncyball

+0

@Habryme Merci beaucoup! Cela fonctionne bien, seulement un petit besoin de changer. Si je fais la facette avec deux variables, comment puis-je seulement ajouter le symbole de température sur une seule variable? –

+2

Vous pouvez également utiliser une fonction plus simple avec 'labeller()': 'facet_wrap (~ variable, étiqueteuse = étiqueteuse (variable = fonction (chaîne) pâte (chaîne," ° C ")))' La page d'aide 'labeller' a de bons exemples. – aosmith