Étiquettes et ordre des facettes

Visualisation de données intermédiaire avec ggplot2

Rick Scavetta

Founder, Scavetta Academy

Un nouveau dataframe

# Graphique
p <- ggplot(msleep2, aes(bodywt_log,
                         brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  coord_fixed()

p

Visualisation de données intermédiaire avec ggplot2

Un nouveau dataframe, avec facettes

p +
  facet_grid(rows = vars(vore))

Visualisation de données intermédiaire avec ggplot2

Un nouveau dataframe, avec facettes

p +
  facet_grid(rows = vars(vore))

Visualisation de données intermédiaire avec ggplot2

Mauvaises étiquettes et ordre

p +
  facet_grid(rows = vars(vore))

Deux problèmes typiques avec les facettes :

  • Mauvaises étiquettes (p. ex. peu descriptives)
  • Ordre erroné ou inadéquat

Visualisation de données intermédiaire avec ggplot2

Mauvaises étiquettes et ordre

p +
  facet_grid(rows = vars(vore))

Solutions :

  • Facile : ajouter des étiquettes dans ggplot
  • Mieux : renommer et réorganiser les facteurs dans le dataframe

Visualisation de données intermédiaire avec ggplot2

L'argument labeller

# Par défaut, seul la valeur est affichée
p +
  facet_grid(rows = vars(vore), 
             labeller = label_value)

Visualisation de données intermédiaire avec ggplot2

Avec label_both, le nom de variable s'affiche

# Afficher aussi le nom de la variable
p +
  facet_grid(rows = vars(vore), 
               labeller = label_both)

Visualisation de données intermédiaire avec ggplot2

Deux variables d'un même côté

p +
  facet_grid(rows = vars(vore, 
                         conservation))

Visualisation de données intermédiaire avec ggplot2

label_context évite l'ambiguïté

p +
  facet_grid(rows = vars(vore,
                         conservation),
               labeller = label_context)

Visualisation de données intermédiaire avec ggplot2

Utiliser lignes et colonnes au besoin

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation),
             labeller = label_context)

Visualisation de données intermédiaire avec ggplot2

Utiliser lignes et colonnes au besoin

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation))

Visualisation de données intermédiaire avec ggplot2

Utiliser lignes et colonnes au besoin

Visualisation de données intermédiaire avec ggplot2

Renommer et réordonner des facteurs

msleep2$conservation <- fct_recode(msleep2$conservation,
                                   Domesticated = "domesticated",
                                   `Least concern` = "lc",
                                   `Near threatened` = "nt",
                                   Vulnerable = "vu",
                                   Endangered = "en")

msleep2$vore = fct_recode(msleep2$vore,
                          Carnivore = "carni",
                          Herbivore = "herbi",
                          Insectivore = "insecti",
                          Omnivore = "omni")
Visualisation de données intermédiaire avec ggplot2

Réinitialiser le graphique avec de nouvelles étiquettes

# Graphique
p <- ggplot(msleep2, aes(bodywt_log,
                         brainwt_log)) +
  geom_point(alpha = 0.6, shape = 16) +
  coord_fixed()

p +
  facet_grid(rows = vars(vore), 
             cols = vars(conservation)) 

Visualisation de données intermédiaire avec ggplot2

Réinitialiser le graphique avec de nouvelles étiquettes

Visualisation de données intermédiaire avec ggplot2

Modifier l'ordre des niveaux

# Changer l'ordre des niveaux :
msleep2$conservation = fct_relevel(msleep2$conservation,
                                   c("Domesticated",
                                     "Least concern",
                                     "Near threatened",
                                     "Vulnerable",
                                     "Endangered"))

Visualisation de données intermédiaire avec ggplot2

Réinitialiser le graphique avec le nouvel ordre

Visualisation de données intermédiaire avec ggplot2

Passons à la pratique !

Visualisation de données intermédiaire avec ggplot2

Preparing Video For Download...