GGPLOT Facet : Comment Ajouter de l’Espace Entre les Etiquettes en Haut du Graphique et la Bordure du Plot

ggplot-facet-add-space-between-labels-and-plot-top-border-logo-1.png


GGPLOT Facet : Comment Ajouter de l’Espace Entre les Etiquettes en Haut du Graphique et la Bordure du Plot

Cet article décrit comment ajouter de l’espace entre les étiquettes, en haut du graphique (bar plot, box plot, etc), et la bordure du graphique lors de l’utilisation des fonctions facet de ggplot2 (facet_wrap() et facet_grid()).

Dans l’exemple de démonstration, nous allons créer un graphique prêt à être publié avec des p-values en utilisant le package ggpubr, une extension de ggplot2.

En ce qui concerne l’ajout d’espaces entre les étiquettes et la marge supérieure du graphique, vous apprendrez de multiples solutions, telles que:

  1. Modification des limites de l’axe des y
  2. Extension des échelles de l’axe des y en utilisant la combinaison des fonctions de ggplot2 scale_y_continuous() and expansion()


Sommaire:

Créer un graphique à facettes avec des étiquettes de p-value

library(ggpubr)
p <- ggboxplot(
   ToothGrowth, x = "supp", y = "len",
   color = "supp", palette = "jco", 
   facet.by = "dose", short.panel.labs = FALSE
   ) +
   stat_compare_means(
      method = "t.test", label = "p.format",
      comparisons=list(c("OJ","VC"))
      )
p

On peut constater que les p-values ne sont pas affichées complètement. Dans la section suivante, nous montrerons comment ajouter des espaces supplémentaires entre les étiquettes de p-value et la bordure supérieure du graphique.

Solution 1 : expansion de l’axe des y en utilisant la fonction ggplot2 expansion()

Fonction R clé:

expansion(mult = 0, add = 0)
  • mult: vecteur multiplicatif de facteurs d’expansion de l’échelle. Si de longueur 1, les limites inférieure et supérieure de l’échelle sont élargies vers l’extérieur par le facteur mult. Si de longueur 2, la limite inférieure est augmentée par les facteurs mult[1] et la limite supérieure par les facteurs mult[2].
  • add: vecteur additif de constantes d’expansion de l’échelle. Si de longueur 1, les limites inférieure et supérieure de l’échelle sont élargies vers l’extérieur en ajoutant des unités. Si de longueur 2, la limite inférieure est étendue par des constantes add[1] et la limite supérieure par des constantes add[2].
# Pas d'espace sous les graphiques
# Ajouter 10 % d'espace sur l'axe des y au-dessus des graphiques
p +
   scale_y_continuous(expand = expansion(mult = c(0, 0.1)))

Solution 2 : utilisation de la fonction ggplot2 ylim()

Cela n’est utile que si les échelles sont similaires pour les différents pannels graphiques.

p + ylim (c(0, 45))

Conclusion

Cet article décrit comment ajouter de l’espace entre les étiquettes et la bordure supérieure de ggplot lors de l’utilisation des fonctions facet. Cela peut être facilement réalisé en utilisant les combinaisons suivantes scale_y_continuous() and expansion(). Notez qu’il est également possible de combiner scale_x_continuous() et expansion() pour ajouter des espaces entre les données et l’axe des x.



Version: English





No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments