CommencerCommencer gratuitement

Faire pleuvoir (des points de données)

La bi‑modalité plus marquée que l’on observe en début de semaine pourrait être intéressante, mais il vaut mieux tracer les points individuels sous les densités pour comprendre comment la KDE interpole, avant d’en rester là.

Nous avons ajouté au code des exercices précédents une géométrie de points pour faire exactement cela. Vous verrez que le rendu n’est pas très satisfaisant. Pour l’améliorer, nous allons procéder en plusieurs étapes…

D’abord, diminuez légèrement les alpha des points pour visualiser les recouvrements. Ensuite, remplacez la forme des points par des traits verticaux à la manière de geom_rug() ('|').

À ce stade, si vous exécutez le code, vous verrez que les points chevauchent maladroitement les densités. Nous devons « pousser » les petits traits un peu vers le bas sur l’axe des y. Pour cela, utilisez l’argument position avec la fonction utilitaire position_nudge().

Cet exercice fait partie du cours

Bonnes pratiques de visualisation avec R

Afficher le cours

Instructions

  • Réduisez alpha des points à 0.2 pour rendre le recouvrement visible.
  • Modifiez la shape des lignes en '|' pour une utilisation plus efficace de l’espace.
  • Décalez les points vers le bas pour éviter le chevauchement avec la densité : position = position_nudge(y = -0.05).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

md_speeding %>% 
    mutate(day_of_week = factor(day_of_week, levels = c("Mon","Tues","Wed","Thu","Fri","Sat","Sun") )) %>% 
    ggplot(aes( x = percentage_over_limit, y = day_of_week)) + 
    geom_point(
        # make semi-transparent with alpha = 0.2
        # turn points to vertical lines with shape = '|'
        # nudge the points downward by 0.05
    ) +
    geom_density_ridges(bandwidth = 3.5, alpha = 0.7) +
    scale_x_continuous(limits = c(0,150), expand  = c(0,0)) +
    labs(subtitle = 'Guassian kernel SD = 3.5') +
    theme( axis.ticks.y = element_blank() )
Modifier et exécuter le code