ggplot2 facet : diviser un graphique en plusieurs panneaux - Logiciel R et visualisation de données


La technique facet partitionne un graphique en une matrice de panneaux. Chaque panneau montre une partie des données. Ce tutoriel R décrit comment partitionner un graphique en utilisant le package ggplot2.

Il existe deux fonctions principales pour le partitionnement :

  • facet_grid()
  • facet_wrap()

Données

Le jeu de données ToothGrowth est utilisé dans les exemples ci-dessous :

# Convertir la variable dose de type "numeric" au type "factor"
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
df <- ToothGrowth
head(df)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5

Assurez-vous que la variable dose soit convertie en une variable de type “factor” en utilisant le script de R ci-dessus.

Box plot basique

Créer un box plot basique coloré par groupes :

library(ggplot2)
bp <- ggplot(df, aes(x=dose, y=len, group=dose)) + 
  geom_boxplot(aes(fill=dose))
bp

ggplot2 facet - Logiciel R et visualisation de données

Partitionner avec une variable

Le graphe est partitionné en plusieurs panneaux en fonction des niveaux du groupe “supp”:

# Partitionnement vertical
bp + facet_grid(supp ~ .)
# Partitionnement horizontal
bp + facet_grid(. ~ supp)

ggplot2 facet - Logiciel R et visualisation de donnéesggplot2 facet - Logiciel R et visualisation de données

Partitionner avec deux variables

Le graphe est partitionné en fonction des niveaux des groupes “dose” et “supp” :

# Facet avec deux variables: dose et supp.
# Les lignes sont "dose" et les colonnes sont "supp"
bp + facet_grid(dose ~ supp)
# Facet avec deux variables: inverser l'ordre des 2 variables
# Les lignes sont "supp" et les colonnes sont "dose"
bp + facet_grid(supp ~ dose)

ggplot2 facet - Logiciel R et visualisation de donnéesggplot2 facet - Logiciel R et visualisation de données

Notez que, vous pouvez utiliser l’argument margins pour ajouter un panneau additionnel (all) contenant toutes les données pour chacune des variables utilisées pour le partitionnement.

bp + facet_grid(dose ~ supp, margins=TRUE)

ggplot2 facet - Logiciel R et visualisation de données

Echelles des panneaux

Par défaut, tous les panneaux ont les mêmes échelles (scales=“fixed”). Elles peuvent être indépendantes en utilisant les valeurs suivantes pour l’argument scales : “free”, “free_x”" ou “free_y”.

bp + facet_grid(dose ~ supp, scales='free')

ggplot2 facet - Logiciel R et visualisation de données

Comme vous pouvez le constater sur le graphique ci-dessus, les axes y des différents panneaux ont des échelles différentes.

Etiquettes des panneaux

L’argument labeller peut être utilisé pour contrôler les étiquettes des panneaux:

bp + facet_grid(dose ~ supp, labeller=label_both)

ggplot2 facet - Logiciel R et visualisation de données

L’apparence des étiquettes des panneaux peut être modifiée comme suit:

# Modifier le texte. Valeurs possibles pour le style de police:
  #'plain', 'italic', 'bold', 'bold.italic'.
bp + facet_grid(dose ~ supp)+
    theme(strip.text.x = element_text(size=12, color="red",
                                      face="bold.italic"),
          strip.text.y = element_text(size=12, color="red",
                                      face="bold.italic"))
# Modifier l'apparence du rectangle autour 
# des étiquettes de panneaux 
bp + facet_grid(dose ~ supp)+
 theme(strip.background = element_rect(colour="black", fill="white", 
                                       size=1.5, linetype="solid"))

ggplot2 facet - Logiciel R et visualisation de donnéesggplot2 facet - Logiciel R et visualisation de données

facet_wrap

Les panneaux peuvent être placés côte-à-côte en utilisant la fonction facet_wrap() comme suit :

bp + facet_wrap(~ dose)
bp + facet_wrap(~ dose, ncol=2)

ggplot2 facet - Logiciel R et visualisation de donnéesggplot2 facet - Logiciel R et visualisation de données

Infos

Cette analyse a été réalisée avec le logiciel R (ver. 3.1.2) et le package ggplot2 (ver. 1.0.0)







Want to Learn More on R Programming and Data Science?

==> Subscribe to our Mailing List <==

* indicates required


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.


Suggestions


ggplot2 couleurs : Changer les couleurs automatiquement et manuellement - Logiciel R et visualisation de données
ggplot2 graduation des axes : Guide pour personnaliser les étiquettes des graduations - Logiciel R et visualisation de données
ggplot2 légende : Modifier facilement la légende d'un graphique - Logiciel R et visualisation de données
ggplot2 barplots : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 échelle et transformation des axes - Logiciel R et visualisation de données
ggplot2 - Combiner plusieurs graphiques sur la même page - Logiciel R et visualisation de données
ggplot2 titres : Titre principal, titre des axes et légendes - Logiciel R et visualisation de données
ggplot2 box plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 nuage de points: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 textes : Ajouter du texte à un graphique - Logiciel R et visualisation de données
ggplot2 thèmes et couleurs de fond : les 3 éléments - Logiciel R et visualisation de données
ggplot2 barres d'erreur : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 types de points - Logiciel R et visualisation de données
ggplot2 histogramme : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 - ajouter une ligne droite à un graphe : Ligne horizontale, verticale et droite de régression
ggplot2 graphique linéaire : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2
ggplot2 dot plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 : heatmap d'une matrice de corrélation - Logiciel R et visualisation de données
ggplot2 type de traits : Comment changer le type de trait d'un graphique avec le logiciel R?
ggplot2 ECDF graphique: Guide de démarrage rapide pour la fonction de répartition empirique - Logiciel R et visualisation de données
ggplot2 violin plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 courbe de distribution : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 stripchart (jitter): Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 pivoter un graphique : Inverser et retourner le graphique - Logiciel R et visualisation de données
ggplot2 qq plot (quantile - quantile plot) : Guide de démarrage rapide - Logiciel R et visualisation de données

Cette page a été vue 5395 fois
Licence - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions
Licence Creative Commons