Introduction aux méthodes quantitatives avec

Chapitre 3: représenter des données avec ggplot2

Introduction

Note

  • Exercices associés à ce chapitre ici

Introduction

  • La visualisation de données synthétise la structure des données
    • Guide l’exploration ultérieure de données
    • Transmets un message au lecteur
  • 2 types de visualisations :
    • Représentations figées: ggplot2
    • Représentations HTML: leaflet

Jeu de données des exemples

library(doremifasol)
library(dplyr)
library(ggplot2)
library(scales)

df <- telechargerDonnees("FILOSOFI_DISP_IRIS", date = 2017) %>%
  as_tibble() %>%
  sample_frac(0.1)

Note

Inspiration pour ces slides :

ggplot2

Initialise une figure associée à un jeu de données

ggplot(df, aes(x = DISP_MED17, y = DISP_D917))

ggplot2

Ajoute des couches (+) avec les fonctions geom_*

ggplot(df) +
  geom_point(aes(x = DISP_MED17, y = DISP_D917))

ggplot2

Paramétrise les couches avec aes

ggplot(df) +
  geom_point(aes(x = DISP_MED17, y = DISP_D917, color = DISP_Q117), shape = 3)

Note

Le contrôle de l’esthétique d’une couche geom_ se fait :

  • aes: paramètres variables de la couche liés à une variable ;
  • hors aes: paramètres qui s’appliquent uniformément sur la couche

ggplot2

Ajoute des couches (+) avec les fonctions geom_*

ggplot(df, aes(x = DISP_MED17, y = DISP_D917)) +
  geom_point(aes(color = DISP_Q117), shape = 3) +
  geom_smooth(color = "red", alpha = 0.7, se = FALSE)

ggplot2

Modifier les échelles avec les fonctions scale_

ggplot(df, aes(x = DISP_MED17, y = DISP_D917)) +
  geom_point(aes(color = DISP_Q117), shape = 3) +
  geom_smooth(color = "red", alpha = 0.7, se = FALSE) +
  scale_x_continuous(labels = unit_format(unit = "k", scale=1e-3)) +
  scale_y_continuous(trans='log', labels = unit_format(unit = "k", scale=1e-3)) +
  scale_color_viridis_c()

ggplot2

Modifier les échelles avec les fonctions scale_

df <- df %>% mutate(quartile = factor(ntile(DISP_Q117, 4)))
ggplot(df, aes(x = DISP_MED17, y = DISP_D917)) +
  geom_point(aes(color = quartile), shape = 3) +
  geom_smooth(color = "red", alpha = 0.7, se = FALSE) +
  scale_x_continuous(labels = unit_format(unit = "k", scale=1e-3)) +
  scale_y_continuous(trans='log', labels = unit_format(unit = "k", scale=1e-3)) +
  scale_color_viridis_d(option = "turbo")

ggplot2

Modifier l’esthétique, à la fin seulement

p <- ggplot(df, aes(x = DISP_MED17, y = DISP_D917)) +
  geom_point(aes(color = quartile), shape = 3) +
  geom_smooth(color = "red", alpha = 0.7, se = FALSE) +
  scale_x_continuous(labels = unit_format(unit = "k", scale=1e-3)) +
  scale_y_continuous(trans='log', labels = unit_format(unit = "k", scale=1e-3)) +
  scale_color_viridis_d(option = "turbo")

p + theme_bw() +
  labs(x = "Revenu médian", y = "9e décile", color = "Quartile") +
  theme(legend.position = "bottom")