La différence entre facet_wrap() et facet_grid() dans R



Les fonctions facet_grid() et facet_wrap() du package ggplot2 peuvent toutes deux être utilisées pour produire une grille de tracés.

Voici la principale différence entre les deux fonctions :

  • La fonction facet_grid() produira une grille de tracés pour chaque combinaison de variables que vous spécifiez, même si certains tracés sont vides.
  • La fonction facet_wrap() ne produira que des tracés pour les combinaisons de variables qui ont des valeurs, ce qui signifie qu’elle ne produira aucun tracé vide .

Les deux exemples suivants illustrent la différence entre ces deux fonctions, en utilisant le bloc de données suivant :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'G'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team position points assists
1    A        G      8      10
2    A        G     14       5
3    A        F     20       5
4    A        F     22       3
5    B        G     25       8
6    B        G     29       6
7    B        G     30       9
8    B        G     31      12

Exemple 1 : utiliser la fonction facet_grid()

Le code suivant montre comment utiliser facet_grid() pour créer une grille qui affiche un nuage de points de passes décisives par rapport aux points pour chaque combinaison d’équipe et de position :

library(ggplot2)

ggplot(df, aes(assists, points)) +
  geom_point() +
  facet_grid(position~team)

Notez qu’un nuage de points est produit pour chaque combinaison de team et de position , même si aucune valeur n’existe dans le bloc de données d’origine pour une valeur d’équipe de B et une valeur de position de F :

Voici comment fonctionne facet_grid() : elle produira un tracé pour chaque combinaison de variables que vous spécifiez, même si certains tracés sont vides.

Exemple 2 : utiliser la fonction facet_wrap()

Le code suivant montre comment utiliser facet_wrap() pour créer une grille qui affiche un nuage de points de passes décisives par rapport aux points pour chaque combinaison d’équipe et de position existante :

library(ggplot2)

ggplot(df, aes(assists, points)) +
  geom_point() +
  facet_wrap(position~team)

Notez qu’un nuage de points n’est produit que pour les combinaisons d’ équipe et de position qui existent dans le bloc de données d’origine.

Cela signifie qu’aucun tracé n’est créé pour la combinaison de l’équipe B et de la position F car aucune valeur n’existe dans le bloc de données d’origine pour cette combinaison particulière.

Voici comment fonctionne facet_wrap() : elle ne produira jamais un tracé vide.

Remarque : Reportez-vous à la documentation ggplot2 pour un guide complet des fonctions facet_grid() et facet_wrap() .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans ggplot2 :

Comment changer la taille de la police dans ggplot2
Comment supprimer une légende dans ggplot2
Comment faire pivoter les étiquettes des axes dans ggplot2

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *