class: center, middle, inverse, title-slide # Températures journalières par rapport à la moyenne annuelle ## avec flipbookr et xaringan ### Ludovic Vigneron --- <style type="text/css"> .remark-code{line-height: 1; font-size: 90%} @media print { .has-continuation { display: block; width: 1000px; } } </style> <font size="8"><b>L'objectif:</b><br> <br></font> <font size="6">A partir des données du <b>Hadley center</b>, il s'agit d'établir une représentation des températures relevées chaque jours pendant une année sur une zone géographique (ici le centre de l'Angleterre) permettant de mettre en relief leur différence avec la moyenne calculée sur cette même année. </font> --- <font size="8"><b>Les étapes:</b></font> * <font size="6">Charger et mettre en forme les données </font> * <font size="6">Créer un graphe de type nuage de point</font> * <font size="6">intégrer les saisons</font> * <font size="6">intégrer la moyenne annuelle</font> * <font size="6">Créer un graphe des distances à la moyenne</font> * <font size="6">un Lolipop chart</font> * <font size="6">intégrer les saisons</font> --- class: inverse, center, middle # Mise en forme de données --- count: false ### Chargeons les données .panel1-test_-user[ ```r *ad<-"https://hadleyserver.metoffice.gov.uk/hadcet/cetdl1772on.dat" *dat<-read.table(ad) *colnames(dat)<-c('year','day',paste0('month_',1:12)) ``` ] .panel2-test_-user[ ] --- count: false ### Chargeons les données .panel1-test_-user[ ```r ad<-"https://hadleyserver.metoffice.gov.uk/hadcet/cetdl1772on.dat" dat<-read.table(ad) colnames(dat)<-c('year','day',paste0('month_',1:12)) *dat %>% slice_head(n=10) ``` ] .panel2-test_-user[ ``` year day month_1 month_2 month_3 month_4 month_5 month_6 month_7 month_8 1 1772 1 32 -15 18 25 87 128 187 177 2 1772 2 20 7 28 38 77 138 154 158 3 1772 3 27 15 36 33 84 170 139 153 4 1772 4 27 -25 61 58 96 90 151 160 5 1772 5 15 -5 68 69 133 146 179 170 6 1772 6 22 -45 51 77 113 105 175 198 7 1772 7 25 12 58 87 106 162 146 194 8 1772 8 0 47 46 104 84 181 163 177 9 1772 9 0 56 21 87 67 155 179 155 10 1772 10 45 28 13 67 59 148 177 153 month_9 month_10 month_11 month_12 1 105 111 78 112 2 143 150 85 62 3 113 124 83 60 4 173 114 60 47 5 173 116 83 50 6 160 134 134 42 7 158 114 134 32 8 135 94 95 55 9 143 106 70 62 10 120 119 122 100 ``` ] <style> .panel1-test_-user { color: black; width: 58.8%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-test_-user { color: black; width: 39.2%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-test_-user { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: middle <p><font size="6">Réorganiser les données pour avoir en colonne les années, les jours, les mois et les températures et en ligne les observations réalisées.</p> <p>Agréger les éléments de date (années, jours, mois) pour créer une variable date.</p> <p>Limiter la base à la date et au relevé de température.</p> <p>Mettre la base dans l'ordre des dates.</p> <p>Mettre en forme la variable de température en éliminant les valeur manquante et en convertissant les valeurs en °C.</p> <p>Supprimer les valeurs manquantes.</p></font> --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r *dat%>%pivot_longer(cols=starts_with('month_'), * names_to="month", * names_prefix='month_', * values_to='d_t') ``` ] .panel2-pivot-auto[ ``` # A tibble: 93,000 x 4 year day month d_t <int> <int> <chr> <int> 1 1772 1 1 32 2 1772 1 2 -15 3 1772 1 3 18 4 1772 1 4 25 5 1772 1 5 87 6 1772 1 6 128 7 1772 1 7 187 8 1772 1 8 177 9 1772 1 9 105 10 1772 1 10 111 # ... with 92,990 more rows ``` ] --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r dat%>%pivot_longer(cols=starts_with('month_'), names_to="month", names_prefix='month_', values_to='d_t') %>% * mutate(date=as.Date(paste0(day,'/',month,'/',year), * format='%d/%m/%Y', * origin='1/1/1990')) ``` ] .panel2-pivot-auto[ ``` # A tibble: 93,000 x 5 year day month d_t date <int> <int> <chr> <int> <date> 1 1772 1 1 32 1772-01-01 2 1772 1 2 -15 1772-02-01 3 1772 1 3 18 1772-03-01 4 1772 1 4 25 1772-04-01 5 1772 1 5 87 1772-05-01 6 1772 1 6 128 1772-06-01 7 1772 1 7 187 1772-07-01 8 1772 1 8 177 1772-08-01 9 1772 1 9 105 1772-09-01 10 1772 1 10 111 1772-10-01 # ... with 92,990 more rows ``` ] --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r dat%>%pivot_longer(cols=starts_with('month_'), names_to="month", names_prefix='month_', values_to='d_t') %>% mutate(date=as.Date(paste0(day,'/',month,'/',year), format='%d/%m/%Y', origin='1/1/1990')) %>% * select(date,d_t) ``` ] .panel2-pivot-auto[ ``` # A tibble: 93,000 x 2 date d_t <date> <int> 1 1772-01-01 32 2 1772-02-01 -15 3 1772-03-01 18 4 1772-04-01 25 5 1772-05-01 87 6 1772-06-01 128 7 1772-07-01 187 8 1772-08-01 177 9 1772-09-01 105 10 1772-10-01 111 # ... with 92,990 more rows ``` ] --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r dat%>%pivot_longer(cols=starts_with('month_'), names_to="month", names_prefix='month_', values_to='d_t') %>% mutate(date=as.Date(paste0(day,'/',month,'/',year), format='%d/%m/%Y', origin='1/1/1990')) %>% select(date,d_t)%>% * arrange(date) ``` ] .panel2-pivot-auto[ ``` # A tibble: 93,000 x 2 date d_t <date> <int> 1 1772-01-01 32 2 1772-01-02 20 3 1772-01-03 27 4 1772-01-04 27 5 1772-01-05 15 6 1772-01-06 22 7 1772-01-07 25 8 1772-01-08 0 9 1772-01-09 0 10 1772-01-10 45 # ... with 92,990 more rows ``` ] --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r dat%>%pivot_longer(cols=starts_with('month_'), names_to="month", names_prefix='month_', values_to='d_t') %>% mutate(date=as.Date(paste0(day,'/',month,'/',year), format='%d/%m/%Y', origin='1/1/1990')) %>% select(date,d_t)%>% arrange(date) %>% * mutate(d_t=ifelse(d_t==-999,NA,d_t), * degre_C=d_t/10) ``` ] .panel2-pivot-auto[ ``` # A tibble: 93,000 x 3 date d_t degre_C <date> <int> <dbl> 1 1772-01-01 32 3.2 2 1772-01-02 20 2 3 1772-01-03 27 2.7 4 1772-01-04 27 2.7 5 1772-01-05 15 1.5 6 1772-01-06 22 2.2 7 1772-01-07 25 2.5 8 1772-01-08 0 0 9 1772-01-09 0 0 10 1772-01-10 45 4.5 # ... with 92,990 more rows ``` ] --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r dat%>%pivot_longer(cols=starts_with('month_'), names_to="month", names_prefix='month_', values_to='d_t') %>% mutate(date=as.Date(paste0(day,'/',month,'/',year), format='%d/%m/%Y', origin='1/1/1990')) %>% select(date,d_t)%>% arrange(date) %>% mutate(d_t=ifelse(d_t==-999,NA,d_t), degre_C=d_t/10) %>% * filter(is.na(d_t)==FALSE) ``` ] .panel2-pivot-auto[ ``` # A tibble: 91,250 x 3 date d_t degre_C <date> <int> <dbl> 1 1772-01-01 32 3.2 2 1772-01-02 20 2 3 1772-01-03 27 2.7 4 1772-01-04 27 2.7 5 1772-01-05 15 1.5 6 1772-01-06 22 2.2 7 1772-01-07 25 2.5 8 1772-01-08 0 0 9 1772-01-09 0 0 10 1772-01-10 45 4.5 # ... with 91,240 more rows ``` ] --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r dat%>%pivot_longer(cols=starts_with('month_'), names_to="month", names_prefix='month_', values_to='d_t') %>% mutate(date=as.Date(paste0(day,'/',month,'/',year), format='%d/%m/%Y', origin='1/1/1990')) %>% select(date,d_t)%>% arrange(date) %>% mutate(d_t=ifelse(d_t==-999,NA,d_t), degre_C=d_t/10) %>% filter(is.na(d_t)==FALSE) %>% * select(-d_t) -> dat_ ``` ] .panel2-pivot-auto[ ] --- count: false ### Faisons pivoter l'ensemble .panel1-pivot-auto[ ```r dat%>%pivot_longer(cols=starts_with('month_'), names_to="month", names_prefix='month_', values_to='d_t') %>% mutate(date=as.Date(paste0(day,'/',month,'/',year), format='%d/%m/%Y', origin='1/1/1990')) %>% select(date,d_t)%>% arrange(date) %>% mutate(d_t=ifelse(d_t==-999,NA,d_t), degre_C=d_t/10) %>% filter(is.na(d_t)==FALSE) %>% select(-d_t) -> dat_ *dat_ ``` ] .panel2-pivot-auto[ ``` # A tibble: 91,250 x 2 date degre_C <date> <dbl> 1 1772-01-01 3.2 2 1772-01-02 2 3 1772-01-03 2.7 4 1772-01-04 2.7 5 1772-01-05 1.5 6 1772-01-06 2.2 7 1772-01-07 2.5 8 1772-01-08 0 9 1772-01-09 0 10 1772-01-10 4.5 # ... with 91,240 more rows ``` ] <style> .panel1-pivot-auto { color: black; width: 53.9%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-pivot-auto { color: black; width: 44.1%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-pivot-auto { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- <p><font size="6">On a maintenant une série chronologique dates/températures journalières allant du 1er janvier 1772 au 31 octobre 2021.</p> <p>Notez que, dans la mesure où le <b>Hadley Center</b> met régulièrement à jour la base, il est probable que, si vous essayez de répliquer le code, vous n'ayez pas la même date finale. </font></p> --- count: false ### Choisissons une année (1975?) .panel1-dat_lim-user[ ```r *dat_ %>% mutate(annee=lubridate::year(date)) %>% * filter(annee==1975) -> dat_75 ``` ] .panel2-dat_lim-user[ ] --- count: false ### Choisissons une année (1975?) .panel1-dat_lim-user[ ```r dat_ %>% mutate(annee=lubridate::year(date)) %>% filter(annee==1975) -> dat_75 *dat_75 ``` ] .panel2-dat_lim-user[ ``` # A tibble: 365 x 3 date degre_C annee <date> <dbl> <dbl> 1 1975-01-01 7.5 1975 2 1975-01-02 8.1 1975 3 1975-01-03 8 1975 4 1975-01-04 6.4 1975 5 1975-01-05 7.5 1975 6 1975-01-06 9.4 1975 7 1975-01-07 7.2 1975 8 1975-01-08 7.6 1975 9 1975-01-09 7.9 1975 10 1975-01-10 8.9 1975 # ... with 355 more rows ``` ] <style> .panel1-dat_lim-user { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-dat_lim-user { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-dat_lim-user { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: inverse, center, middle # Elaboration du graphe : nuage de points --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r *ggplot(dat=dat_75)+aes(x=date,y=degre_C) ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_01_output-1.png)<!-- --> ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ * geom_point() ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_02_output-1.png)<!-- --> ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ geom_point()+ * labs(title="Températures moyennes journalières en *1975*", * subtitle = "centre de l'Angleterre (en dégrés Celsius)", * caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]') ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_03_output-1.png)<!-- --> ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ geom_point()+ labs(title="Températures moyennes journalières en *1975*", subtitle = "centre de l'Angleterre (en dégrés Celsius)", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]')+ * coord_cartesian(ylim=c(-1,25),expand = FALSE) ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_04_output-1.png)<!-- --> ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ geom_point()+ labs(title="Températures moyennes journalières en *1975*", subtitle = "centre de l'Angleterre (en dégrés Celsius)", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]')+ coord_cartesian(ylim=c(-1,25),expand = FALSE)+ * scale_y_continuous(breaks=seq(0,25,5)) ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_05_output-1.png)<!-- --> ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ geom_point()+ labs(title="Températures moyennes journalières en *1975*", subtitle = "centre de l'Angleterre (en dégrés Celsius)", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]')+ coord_cartesian(ylim=c(-1,25),expand = FALSE)+ scale_y_continuous(breaks=seq(0,25,5))+ * scale_x_date(date_breaks = "1 month", date_labels = "%b") ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_06_output-1.png)<!-- --> ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ geom_point()+ labs(title="Températures moyennes journalières en *1975*", subtitle = "centre de l'Angleterre (en dégrés Celsius)", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]')+ coord_cartesian(ylim=c(-1,25),expand = FALSE)+ scale_y_continuous(breaks=seq(0,25,5))+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ * theme_minimal() ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_07_output-1.png)<!-- --> ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ geom_point()+ labs(title="Températures moyennes journalières en *1975*", subtitle = "centre de l'Angleterre (en dégrés Celsius)", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]')+ coord_cartesian(ylim=c(-1,25),expand = FALSE)+ scale_y_continuous(breaks=seq(0,25,5))+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ theme_minimal()+ * theme(axis.title = element_blank(), * axis.line = element_line(colour='grey'), * panel.grid.major = element_blank(), * panel.grid.major.y = element_line(colour='Gainsboro'), * panel.grid.minor = element_blank(), * plot.title = element_markdown(hjust=0.5,face='bold'), * plot.subtitle = element_markdown(hjust=0.5,face='italic'), * plot.caption = element_markdown(margin=margin(t=15))) -> plot1 ``` ] .panel2-graph_b-auto[ ] --- count: false ### Le graphe de base .panel1-graph_b-auto[ ```r ggplot(dat=dat_75)+aes(x=date,y=degre_C)+ geom_point()+ labs(title="Températures moyennes journalières en *1975*", subtitle = "centre de l'Angleterre (en dégrés Celsius)", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]')+ coord_cartesian(ylim=c(-1,25),expand = FALSE)+ scale_y_continuous(breaks=seq(0,25,5))+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ theme_minimal()+ theme(axis.title = element_blank(), axis.line = element_line(colour='grey'), panel.grid.major = element_blank(), panel.grid.major.y = element_line(colour='Gainsboro'), panel.grid.minor = element_blank(), plot.title = element_markdown(hjust=0.5,face='bold'), plot.subtitle = element_markdown(hjust=0.5,face='italic'), plot.caption = element_markdown(margin=margin(t=15))) -> plot1 *plot1 ``` ] .panel2-graph_b-auto[ ![](test_1_files/figure-html/graph_b_auto_09_output-1.png)<!-- --> ] <style> .panel1-graph_b-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-graph_b-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-graph_b-auto { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: inverse, center, middle ## Les saisons --- <font size="6"><b>Date des saisons:</b></font> * <font size="6">L'<b> hivers</b> : du 21 décembre au 19 mars -> couleur MintCream</font> * <font size="6">Le <b>printemps</b> : du 20 mars au 20 juin -> couleur PaleGreen</font> * <font size="6">L'<b>été</b> : du 21 juin au 22 septembre -> couleur LightYellow </font> * <font size="6">L'<b>automne</b> : de 23 septembre au 20 décembre -> couleur BurlyWood</font> --- count: false ### Marquons la position des saisons .panel1-graph_bs-user[ ```r *plot1 ``` ] .panel2-graph_bs-user[ ![](test_1_files/figure-html/graph_bs_user_01_output-1.png)<!-- --> ] --- count: false ### Marquons la position des saisons .panel1-graph_bs-user[ ```r plot1+ * geom_rect(mapping=aes(xmin=as.Date('1-1-1975',format="%d-%m-%Y"), * xmax=as.Date('20-3-1975',format="%d-%m-%Y"), * ymin=-1,ymax=25),alpha=0.1,fill='MintCream')+ * geom_rect(mapping=aes(xmin=as.Date('21-12-1975',format="%d-%m-%Y"), * xmax=as.Date('31-12-1975',format="%d-%m-%Y"), * ymin=-1,ymax=25), alpha=0.1,fill='MintCream') ``` ] .panel2-graph_bs-user[ ![](test_1_files/figure-html/graph_bs_user_02_output-1.png)<!-- --> ] --- count: false ### Marquons la position des saisons .panel1-graph_bs-user[ ```r plot1+ geom_rect(mapping=aes(xmin=as.Date('1-1-1975',format="%d-%m-%Y"), xmax=as.Date('20-3-1975',format="%d-%m-%Y"), ymin=-1,ymax=25),alpha=0.1,fill='MintCream')+ geom_rect(mapping=aes(xmin=as.Date('21-12-1975',format="%d-%m-%Y"), xmax=as.Date('31-12-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.1,fill='MintCream')+ * geom_rect(mapping=aes(xmin=as.Date('21-3-1975',format="%d-%m-%Y"), * xmax=as.Date('21-6-1975',format="%d-%m-%Y"), * ymin=-1,ymax=25), alpha=0.01,fill='PaleGreen') ``` ] .panel2-graph_bs-user[ ![](test_1_files/figure-html/graph_bs_user_03_output-1.png)<!-- --> ] --- count: false ### Marquons la position des saisons .panel1-graph_bs-user[ ```r plot1+ geom_rect(mapping=aes(xmin=as.Date('1-1-1975',format="%d-%m-%Y"), xmax=as.Date('20-3-1975',format="%d-%m-%Y"), ymin=-1,ymax=25),alpha=0.1,fill='MintCream')+ geom_rect(mapping=aes(xmin=as.Date('21-12-1975',format="%d-%m-%Y"), xmax=as.Date('31-12-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.1,fill='MintCream')+ geom_rect(mapping=aes(xmin=as.Date('21-3-1975',format="%d-%m-%Y"), xmax=as.Date('21-6-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.01,fill='PaleGreen')+ * geom_rect(mapping=aes(xmin=as.Date('22-6-1975',format="%d-%m-%Y"), * xmax=as.Date('23-9-1975',format="%d-%m-%Y"), * ymin=-1,ymax=25), alpha=0.1,fill='LightYellow') ``` ] .panel2-graph_bs-user[ ![](test_1_files/figure-html/graph_bs_user_04_output-1.png)<!-- --> ] --- count: false ### Marquons la position des saisons .panel1-graph_bs-user[ ```r plot1+ geom_rect(mapping=aes(xmin=as.Date('1-1-1975',format="%d-%m-%Y"), xmax=as.Date('20-3-1975',format="%d-%m-%Y"), ymin=-1,ymax=25),alpha=0.1,fill='MintCream')+ geom_rect(mapping=aes(xmin=as.Date('21-12-1975',format="%d-%m-%Y"), xmax=as.Date('31-12-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.1,fill='MintCream')+ geom_rect(mapping=aes(xmin=as.Date('21-3-1975',format="%d-%m-%Y"), xmax=as.Date('21-6-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.01,fill='PaleGreen')+ geom_rect(mapping=aes(xmin=as.Date('22-6-1975',format="%d-%m-%Y"), xmax=as.Date('23-9-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.1,fill='LightYellow')+ * geom_rect(mapping=aes(xmin=as.Date('24-9-1975',format="%d-%m-%Y"), * xmax=as.Date('20-12-1975',format="%d-%m-%Y"), * ymin=-1,ymax=25), alpha=0.01,fill='BurlyWood') ``` ] .panel2-graph_bs-user[ ![](test_1_files/figure-html/graph_bs_user_05_output-1.png)<!-- --> ] --- count: false ### Marquons la position des saisons .panel1-graph_bs-user[ ```r plot1+ geom_rect(mapping=aes(xmin=as.Date('1-1-1975',format="%d-%m-%Y"), xmax=as.Date('20-3-1975',format="%d-%m-%Y"), ymin=-1,ymax=25),alpha=0.1,fill='MintCream')+ geom_rect(mapping=aes(xmin=as.Date('21-12-1975',format="%d-%m-%Y"), xmax=as.Date('31-12-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.1,fill='MintCream')+ geom_rect(mapping=aes(xmin=as.Date('21-3-1975',format="%d-%m-%Y"), xmax=as.Date('21-6-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.01,fill='PaleGreen')+ geom_rect(mapping=aes(xmin=as.Date('22-6-1975',format="%d-%m-%Y"), xmax=as.Date('23-9-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.1,fill='LightYellow')+ geom_rect(mapping=aes(xmin=as.Date('24-9-1975',format="%d-%m-%Y"), xmax=as.Date('20-12-1975',format="%d-%m-%Y"), ymin=-1,ymax=25), alpha=0.01,fill='BurlyWood')+ * geom_point()-> * plot2 *plot2 ``` ] .panel2-graph_bs-user[ ![](test_1_files/figure-html/graph_bs_user_06_output-1.png)<!-- --> ] <style> .panel1-graph_bs-user { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-graph_bs-user { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-graph_bs-user { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: inverse, center, middle ## La moyenne --- count: false ### Indiquons la moyenne .panel1-graph_bm-auto[ ```r *plot2 ``` ] .panel2-graph_bm-auto[ ![](test_1_files/figure-html/graph_bm_auto_01_output-1.png)<!-- --> ] --- count: false ### Indiquons la moyenne .panel1-graph_bm-auto[ ```r plot2+ * geom_hline(yintercept = mean(dat_75$degre_C),color='red') ``` ] .panel2-graph_bm-auto[ ![](test_1_files/figure-html/graph_bm_auto_02_output-1.png)<!-- --> ] --- count: false ### Indiquons la moyenne .panel1-graph_bm-auto[ ```r plot2+ geom_hline(yintercept = mean(dat_75$degre_C),color='red')+ * geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=10.5), * label='Moy.an. 10.03°C',color='red') ``` ] .panel2-graph_bm-auto[ ![](test_1_files/figure-html/graph_bm_auto_03_output-1.png)<!-- --> ] --- count: false ### Indiquons la moyenne .panel1-graph_bm-auto[ ```r plot2+ geom_hline(yintercept = mean(dat_75$degre_C),color='red')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=10.5), label='Moy.an. 10.03°C',color='red') -> * plot3 ``` ] .panel2-graph_bm-auto[ ] --- count: false ### Indiquons la moyenne .panel1-graph_bm-auto[ ```r plot2+ geom_hline(yintercept = mean(dat_75$degre_C),color='red')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=10.5), label='Moy.an. 10.03°C',color='red') -> plot3 *plot3 ``` ] .panel2-graph_bm-auto[ ![](test_1_files/figure-html/graph_bm_auto_05_output-1.png)<!-- --> ] <style> .panel1-graph_bm-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-graph_bm-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-graph_bm-auto { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: inverse, center, middle # Elaboration du graphe des distances à la moyenne --- class: inverse, center, middle ## Préparation des données --- class: middle <font size=6> Calcul de la distance à la moyenne et codage d'une variable indiquant si on est au-dessus ou en dessous de celle-ci.</font> --- count: false ### Distance à la moyenne .panel1-dist-auto[ ```r *dat_75_d<-dat_75 %>% mutate(dist=degre_C-mean(dat_75$degre_C), * pos=as.factor(ifelse(dist<0,'froid','chaud'))) ``` ] .panel2-dist-auto[ ] --- count: false ### Distance à la moyenne .panel1-dist-auto[ ```r dat_75_d<-dat_75 %>% mutate(dist=degre_C-mean(dat_75$degre_C), pos=as.factor(ifelse(dist<0,'froid','chaud'))) *dat_75_d ``` ] .panel2-dist-auto[ ``` # A tibble: 365 x 5 date degre_C annee dist pos <date> <dbl> <dbl> <dbl> <fct> 1 1975-01-01 7.5 1975 -2.54 froid 2 1975-01-02 8.1 1975 -1.94 froid 3 1975-01-03 8 1975 -2.04 froid 4 1975-01-04 6.4 1975 -3.64 froid 5 1975-01-05 7.5 1975 -2.54 froid 6 1975-01-06 9.4 1975 -0.637 froid 7 1975-01-07 7.2 1975 -2.84 froid 8 1975-01-08 7.6 1975 -2.44 froid 9 1975-01-09 7.9 1975 -2.14 froid 10 1975-01-10 8.9 1975 -1.14 froid # ... with 355 more rows ``` ] <style> .panel1-dist-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-dist-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-dist-auto { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: inverse, center, middle ## Elaboration du graphe : Lolipop chart --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r *ggplot(data=dat_75_d) ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_01_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + * aes(x=date,y=dist) ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_02_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + * geom_point(aes(color=pos),size=1.5) ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_03_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + * geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01) ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_04_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ * geom_hline(yintercept = 0, color='purple') ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_05_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ * geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), * label='Moy.an. 10.03°C',color='purple') ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_06_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ * labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", * subtitle = "centre de l'Angleterre", * caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', * y='écart par rapport à la moyenne annuelle (en °C)') ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_07_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", subtitle = "centre de l'Angleterre", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', y='écart par rapport à la moyenne annuelle (en °C)')+ * coord_cartesian(ylim=c(-12,15),expand = FALSE) ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_08_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", subtitle = "centre de l'Angleterre", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', y='écart par rapport à la moyenne annuelle (en °C)')+ coord_cartesian(ylim=c(-12,15),expand = FALSE)+ * scale_x_date(date_breaks = "1 month", date_labels = "%b") ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_09_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", subtitle = "centre de l'Angleterre", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', y='écart par rapport à la moyenne annuelle (en °C)')+ coord_cartesian(ylim=c(-12,15),expand = FALSE)+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ * scale_y_continuous(breaks=seq(-10,20,5)) ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_10_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", subtitle = "centre de l'Angleterre", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', y='écart par rapport à la moyenne annuelle (en °C)')+ coord_cartesian(ylim=c(-12,15),expand = FALSE)+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ scale_y_continuous(breaks=seq(-10,20,5))+ * theme_minimal() ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_11_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", subtitle = "centre de l'Angleterre", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', y='écart par rapport à la moyenne annuelle (en °C)')+ coord_cartesian(ylim=c(-12,15),expand = FALSE)+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ scale_y_continuous(breaks=seq(-10,20,5))+ theme_minimal()+ * theme(plot.title = element_markdown(hjust=0.5,face='bold'), * plot.subtitle = element_markdown(hjust=0.5,face='italic'), * plot.caption = element_markdown(margin=margin(t=15)), * axis.line = element_line(colour='grey'), * axis.title.x = element_blank(), * legend.position = 'none') ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_12_output-1.png)<!-- --> ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", subtitle = "centre de l'Angleterre", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', y='écart par rapport à la moyenne annuelle (en °C)')+ coord_cartesian(ylim=c(-12,15),expand = FALSE)+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ scale_y_continuous(breaks=seq(-10,20,5))+ theme_minimal()+ theme(plot.title = element_markdown(hjust=0.5,face='bold'), plot.subtitle = element_markdown(hjust=0.5,face='italic'), plot.caption = element_markdown(margin=margin(t=15)), axis.line = element_line(colour='grey'), axis.title.x = element_blank(), legend.position = 'none') -> * plot4 ``` ] .panel2-fff-auto[ ] --- count: false ### Création du Lolipop chart .panel1-fff-auto[ ```r ggplot(data=dat_75_d) + aes(x=date,y=dist) + geom_point(aes(color=pos),size=1.5) + geom_segment(aes(xend=date,y=0,yend=dist,color=pos),size=0.01)+ geom_hline(yintercept = 0, color='purple')+ geom_text(aes(x=as.Date('10-2-1975',format="%d-%m-%Y"),y=0.5), label='Moy.an. 10.03°C',color='purple')+ labs(title="Lollipop chart des temépératures moyennes (pour l'année 1975)", subtitle = "centre de l'Angleterre", caption='Données: **centre Hadley** [Parker, Legg et Folland *(1992)*]', y='écart par rapport à la moyenne annuelle (en °C)')+ coord_cartesian(ylim=c(-12,15),expand = FALSE)+ scale_x_date(date_breaks = "1 month", date_labels = "%b")+ scale_y_continuous(breaks=seq(-10,20,5))+ theme_minimal()+ theme(plot.title = element_markdown(hjust=0.5,face='bold'), plot.subtitle = element_markdown(hjust=0.5,face='italic'), plot.caption = element_markdown(margin=margin(t=15)), axis.line = element_line(colour='grey'), axis.title.x = element_blank(), legend.position = 'none') -> plot4 *plot4 ``` ] .panel2-fff-auto[ ![](test_1_files/figure-html/fff_auto_14_output-1.png)<!-- --> ] <style> .panel1-fff-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-fff-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-fff-auto { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: inverse, center, middle ## Marquer les saisons --- class: middle <font size=6>Pour marquer les saisons, l'ajout de bandes de couleurs sur chargerait le graphe qui en comporte dèjà trois. Nous optons à la place pour des lignes verticales en pointillés aux dates des changements de saisons.</font> --- count: false ### Intégrations des saisons .panel1-fff_s-auto[ ```r *plot4 ``` ] .panel2-fff_s-auto[ ![](test_1_files/figure-html/fff_s_auto_01_output-1.png)<!-- --> ] --- count: false ### Intégrations des saisons .panel1-fff_s-auto[ ```r plot4 + * geom_vline(xintercept = as.Date('20-3-1975',format="%d-%m-%Y"), * linetype='dashed') ``` ] .panel2-fff_s-auto[ ![](test_1_files/figure-html/fff_s_auto_02_output-1.png)<!-- --> ] --- count: false ### Intégrations des saisons .panel1-fff_s-auto[ ```r plot4 + geom_vline(xintercept = as.Date('20-3-1975',format="%d-%m-%Y"), linetype='dashed')+ * geom_vline(xintercept = as.Date('21-6-1975',format="%d-%m-%Y"), * linetype='dashed') ``` ] .panel2-fff_s-auto[ ![](test_1_files/figure-html/fff_s_auto_03_output-1.png)<!-- --> ] --- count: false ### Intégrations des saisons .panel1-fff_s-auto[ ```r plot4 + geom_vline(xintercept = as.Date('20-3-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('21-6-1975',format="%d-%m-%Y"), linetype='dashed')+ * geom_vline(xintercept = as.Date('23-9-1975',format="%d-%m-%Y"), * linetype='dashed') ``` ] .panel2-fff_s-auto[ ![](test_1_files/figure-html/fff_s_auto_04_output-1.png)<!-- --> ] --- count: false ### Intégrations des saisons .panel1-fff_s-auto[ ```r plot4 + geom_vline(xintercept = as.Date('20-3-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('21-6-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('23-9-1975',format="%d-%m-%Y"), linetype='dashed')+ * geom_vline(xintercept = as.Date('20-12-1975',format="%d-%m-%Y"), * linetype='dashed') ``` ] .panel2-fff_s-auto[ ![](test_1_files/figure-html/fff_s_auto_05_output-1.png)<!-- --> ] --- count: false ### Intégrations des saisons .panel1-fff_s-auto[ ```r plot4 + geom_vline(xintercept = as.Date('20-3-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('21-6-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('23-9-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('20-12-1975',format="%d-%m-%Y"), linetype='dashed') -> * plot5 ``` ] .panel2-fff_s-auto[ ] --- count: false ### Intégrations des saisons .panel1-fff_s-auto[ ```r plot4 + geom_vline(xintercept = as.Date('20-3-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('21-6-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('23-9-1975',format="%d-%m-%Y"), linetype='dashed')+ geom_vline(xintercept = as.Date('20-12-1975',format="%d-%m-%Y"), linetype='dashed') -> plot5 *plot5 ``` ] .panel2-fff_s-auto[ ![](test_1_files/figure-html/fff_s_auto_07_output-1.png)<!-- --> ] <style> .panel1-fff_s-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel2-fff_s-auto { color: black; width: 49%; hight: 32%; float: left; padding-left: 1%; font-size: 80% } .panel3-fff_s-auto { color: black; width: NA%; hight: 33%; float: left; padding-left: 1%; font-size: 80% } </style> --- class: inverse, center, middle # Les graphes réalisés --- class: center,middle ![](test_1_files/figure-html/fff_ss-1.png)<!-- -->![](test_1_files/figure-html/fff_ss-2.png)<!-- -->