Facet_wrap et aires sous la courbe


Cette semaine, le #Tidytuesday nous fourni des données sur l’audience de la NFL.



CONTEXTE

Les données de cette semaine proviennent de Pro Football Reference team standings.



OBJECTIFS

  1. Visualiser l’évolution dans le temps de la différence (en pourcentage) de l’audience à la maison vs l’audience à l’extérieur pour chacune des équipes.



IMPORTER

tuesdata <- tidytuesdayR::tt_load("2020-02-04")
attendance <- tuesdata$attendance



EXPLORER

summary(attendance)
##      team            team_name              year          total          
##  Length:10846       Length:10846       Min.   :2000   Min.   : 760644    
##  Class :character   Class :character   1st Qu.:2005   1st Qu.:1040509    
##  Mode  :character   Mode  :character   Median :2010   Median :1081090    
##                                        Mean   :2010   Mean   :1080910    
##                                        3rd Qu.:2015   3rd Qu.:1123230    
##                                        Max.   :2019   Max.   :1322087    
##                                                                          
##       home             away             week    weekly_attendance  
##  Min.   :202687   Min.   :450295   Min.   : 1   Min.   : 23127     
##  1st Qu.:504360   1st Qu.:524974   1st Qu.: 5   1st Qu.: 63246     
##  Median :543185   Median :541757   Median : 9   Median : 68334     
##  Mean   :540455   Mean   :540455   Mean   : 9   Mean   : 67557     
##  3rd Qu.:578342   3rd Qu.:557741   3rd Qu.:13   3rd Qu.: 72545     
##  Max.   :741775   Max.   :601655   Max.   :17   Max.   :105121     
##                                                 NA's   :638
glimpse(attendance)
## Observations: 10,846  
## Variables: 8  
## $ team              <chr> "Arizona", "Arizona", "Arizona", "Arizona", "A…  
## $ team_name         <chr> "Cardinals", "Cardinals", "Cardinals", "Cardin…  
## $ year              <dbl> 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000…  
## $ total             <dbl> 893926, 893926, 893926, 893926, 893926, 893926…  
## $ home              <dbl> 387475, 387475, 387475, 387475, 387475, 387475…  
## $ away              <dbl> 506451, 506451, 506451, 506451, 506451, 506451…  
## $ week              <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,…  
## $ weekly_attendance <dbl> 77434, 66009, NA, 71801, 66985, 44296, 38293, …



PRÉPARER

data<-attendance %>%
     select(team, team_name, year, total,home, away) %>%
     distinct() %>%
     mutate(pct_home=home/total*100) %>%
     select(team_name, year, pct_home) 



VISUALISER

#Graphique  
gg<- ggplot(data=data,aes(x = year, y=pct_home, group=team_name))  
gg<-gg + geom_line(size=1, color="white")  
gg<-gg + geom_ribbon(aes(x=year,ymax=pct_home,fill="#731963"),ymin=0,alpha=0.3)  
gg<-gg + geom_ribbon(aes(x=year,ymin=pct_home,fill="#F0E100"),ymax=100,,alpha=0.3)  
gg<-gg + facet_wrap(.~team_name)  
#ajuster la légende  
gg<-gg + theme(legend.position = "null")  
#ajuster les axes  
gg<-gg + scale_y_continuous(breaks=seq(0, 100, 50), limits = c(0,100))  
#modifier le thème  
gg <- gg +  theme(plot.background = element_rect(fill = "#171717"),
                    panel.background = element_rect(fill = "#171717"),
                    panel.grid.major.y= element_blank(),
                    panel.grid.major.x= element_blank(),
                    panel.grid.minor = element_blank(),
                    axis.line.x = element_line(color="white"),
                    axis.line.y = element_line(color="white"),
                    axis.ticks.x = element_blank(),
                     axis.ticks.y = element_blank())  
#ajuster le facet_wrap    
gg<-gg + theme(strip.background = element_blank(),
                 strip.text.x = element_text(color="white", size=16, hjust=0))   
#ajouter les titres  
gg<-gg + labs(title="Public de la NFL",
              subtitle = "<br>Évolution de <span style='color:#6A3734'>**l'assistance à domicile**</span>et <span style='color:#155355'>**l'assistance à l'extérieur**</span> pour<br>les match de la NFL entre 2000 et 2019<br><br>",
              x=" ",
              y=" ",
              caption="\nSOURCE: Pro Football Reference   |  DESIGN: Johanie Fournier, agr.")  
gg<-gg + theme(  plot.title    = element_text(size=37, hjust=0,vjust=0.5, family="Tw Cen MT", color="white"),
                 plot.subtitle = element_markdown(lineheight = 1.1,size=20, hjust=0,vjust=0.5, color="white"),
                 plot.caption  = element_text(size=12, hjust=1,vjust=0.5, family="Tw Cen MT", color="white"),
                 axis.title.y  = element_blank(),
                 axis.title.x  = element_blank(),
                 axis.text.x   = element_blank(),
                 axis.text.y   = element_text(size=12, hjust=0.5,vjust=0.5, family="Tw Cen MT", color="white"))        

Voici ce que ça donne:





Alors, tu veux en savoir plus sur ma démarche? Abonne-toi à mon infolettre pour savoir quand est-ce que le prochain épisode de podcast sera disponible. J’y expliquerai toute la réflexion et les concepts de data visualisation qui ont menés à la création de cette viz.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.