2017-08-15 4 views
0

J'ai créé l'intrigue suivante à l'aide ggplot dans R:Facet labet fusionnant en une seule rangée ggplot2

enter image description here

le code:

ggplot(hola, aes(.fitted, .resid, color=type)) + 
     geom_point() + 
     geom_hline(yintercept = 0, color="black") + 
     geom_smooth(se = FALSE, color="darkblue")+facet_wrap(type~exp, scales = "free") + 
     scale_color_manual(values=c("#5fb772", "#5fabb7")) 

Cependant, je pense que les étiquettes de facet_wrap semblent trop grand et décompenser les graphiques globaux à la recherche; Y a-t-il un moyen de l'afficher d'une meilleure manière? comme fusionner deux colonnes de la df en une seule? ou fusionner des étiquettes de facettes dans une seule rangée? PD: Au fait, l'utilisation d'un facet_grid n'est pas une option puisque l'axe X de mu et abs est différent.

+0

"pour l'afficher sous un meilleur aspect" ... Par "il", vous voulez dire le graphique ou les étiquettes de facettes? – PoGibas

+0

Que diriez-vous de fusionner des données par lettre (par exemple, abs F avec mu F) et les tracer sur un graphique. Parce que maintenant les couleurs n'ajoutent rien. – PoGibas

+0

https://stackoverflow.com/questions/34241890/ggplot-renaming-facet-labels-in-facet-wrap – Masoud

Répondre

1

Est-ce que cela aide?

ggplot(hola, aes(.fitted, .resid, color=type)) + 
     geom_point() + 
     geom_hline(yintercept = 0, color="black") + 
     geom_smooth(se = FALSE, color="darkblue")+ 
     facet_wrap(type~exp, scales = "free", labeller = label_wrap_gen(multi_line=FALSE)) + 
     scale_color_manual(values=c("#5fb772", "#5fabb7")) 
+0

Je ne m'attendais pas à ce que la réponse soit aussi simple. ne connaissait pas cet argument dans 'facet_wrap'. TY – Neuls

0
ggplot(hola, aes(.fitted, .resid, color=type)) + 
    geom_point() + 
    geom_hline(yintercept = 0, color="black") + 
    geom_smooth(se = FALSE, color="darkblue")+ 
    facet_wrap(paste(type, exp, sep = ":"), scales = "free") + 
    scale_color_manual(values=c("#5fb772", "#5fabb7")) 

Cela rend simplement une nouvelle variable anonyme pour chaque niveau de type et exp avec des valeurs de "abs: exp_F", par exemple. Ensuite, il n'y a qu'une seule ligne d'étiquettes pour chaque panneau.