From d9c2f9101a55db166dd91d342208c9215168dcaf Mon Sep 17 00:00:00 2001 From: KALIOUDJOGLOU Daniel <Daniel.Kalioudjoglou@developpement-durable.gouv.fr> Date: Tue, 6 Apr 2021 09:59:04 +0200 Subject: [PATCH 1/6] creation du graphique bug lors du lancement du check erreur de police dans le RMD --- DESCRIPTION | 6 +-- NAMESPACE | 6 +++ R/creer_graphe_1_3.R | 54 ++++++++++++++++++++++++++ devstuff_history.R | 6 +++ man/creer_graphe_1_3.Rd | 20 ++++++++++ tests/testthat/test-creer_graphe_1_3.R | 7 ++++ vignettes/.gitignore | 1 + vignettes/ac-ch1-3.Rmd | 25 ++++++++++++ 8 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 R/creer_graphe_1_3.R create mode 100644 man/creer_graphe_1_3.Rd create mode 100644 tests/testthat/test-creer_graphe_1_3.R create mode 100644 vignettes/ac-ch1-3.Rmd diff --git a/DESCRIPTION b/DESCRIPTION index f43f422..480e7ab 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -26,7 +26,6 @@ Imports: ggiraph, ggplot2, glue, - gouvdown (>= 0.0.0.9000), lubridate, magrittr, scales, @@ -34,14 +33,15 @@ Imports: tricky, utils Suggests: + gouvdown (>= 0.0.0.9000), knitr, rmarkdown, testthat (>= 3.0.0) VignetteBuilder: knitr Remotes: - spyrales/gouvdown, - pachevalier/tricky + pachevalier/tricky, + spyrales/gouvdown Config/testthat/edition: 3 Encoding: UTF-8 LazyData: true diff --git a/NAMESPACE b/NAMESPACE index c0b9c24..8f07890 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,6 +2,7 @@ export("%>%") export(creer_graphe_1_1) +export(creer_graphe_1_3) export(format_fr_pct) importFrom(attempt,stop_if_not) importFrom(dplyr,filter) @@ -12,6 +13,7 @@ importFrom(dplyr,pull) importFrom(dplyr,select) importFrom(dplyr,ungroup) importFrom(forcats,fct_drop) +importFrom(forcats,fct_inorder) importFrom(forcats,fct_reorder) importFrom(ggiraph,geom_point_interactive) importFrom(ggiraph,ggiraph) @@ -24,5 +26,9 @@ importFrom(ggplot2,labs) importFrom(ggplot2,scale_y_continuous) importFrom(ggplot2,theme) importFrom(glue,glue) +importFrom(lubridate,make_date) importFrom(magrittr,"%>%") importFrom(scales,number_format) +importFrom(tidyr,gather) +importFrom(tidyr,spread) +importFrom(tricky,set_standard_names) diff --git a/R/creer_graphe_1_3.R b/R/creer_graphe_1_3.R new file mode 100644 index 0000000..df794a3 --- /dev/null +++ b/R/creer_graphe_1_3.R @@ -0,0 +1,54 @@ +#' Creation du graphique de la part des surfaces artificialisees (Teruti-Lucas) +#' @description Graphique en barres de la part des surfaces artificialisees dans la surface departementale et regionale en % (Teruti-Lucas) +#' +#' @param millesime_teruti une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique. +#' +#' @return Un diagramme en barres +#' +#' @importFrom dplyr filter select mutate +#' @importFrom forcats fct_inorder +#' @importFrom ggplot2 ggplot aes geom_bar labs scale_y_continuous theme geom_text +#' @importFrom scales number_format +#' @importFrom glue glue +#' @importFrom lubridate make_date +#' @importFrom tidyr spread gather +#' @importFrom tricky set_standard_names +#' +#' @export +#' +#' @examples +#' creer_graphe_1_3(millesime_teruti=2018) + +creer_graphe_1_3 <- function(millesime_teruti){ + + # Creation de la table utile a la production du graphique + data <- teruti %>% + dplyr::mutate(valeur=as.numeric(.data$valeur)) %>% + dplyr::filter(.data$CodeZone == "52" & .data$TypeZone == "R\u00e9gions" | .data$CodeZone %in% c("44","49","53","72","85") & .data$TypeZone == "D\u00e9partements", + .data$date == lubridate::make_date(millesime_teruti,"01","01")) %>% + tidyr::spread(key=.data$variable,value=.data$valeur,fill=0) %>% + tricky::set_standard_names() %>% + dplyr::mutate (voiries=(.data$sols_revetus )/.data$tous_sols*100, + hors_voiries=(.data$sols_batis+ .data$sols_stabilises+ .data$autres_sols_artificialises )/.data$tous_sols*100 + ) %>% + dplyr::select(.data$codezone,.data$zone,.data$voiries,.data$hors_voiries)%>% + tidyr::gather(.data$variable,.data$valeur,.data$voiries:.data$hors_voiries)%>% + dplyr::mutate(variable = replace(.data$variable, .data$variable=="hors_voiries","surfaces artificialisées hors voiries"), + codezone = replace(.data$codezone, .data$codezone=="52","Région"))%>% + dplyr::mutate(variable=factor(.data$variable,levels=c("surfaces artificialisées hors voiries","voiries"))%>% forcats::fct_inorder()) + + graph_1_3<-data %>% + ggplot2::ggplot(ggplot2::aes(x=.data$codezone,y=.data$valeur,fill=.data$variable)) + + ggplot2::geom_bar(stat="identity")+ + ggplot2::labs(title= glue::glue("Part des surfaces artificialis\u00e9es dans la surface \nd\u00e9partementale et r\u00e9gionale en {millesime_teruti} en % (Teruti-Lucas)"),subtitle="",x="",y="", + fill="", + caption = glue::glue("Source : Teruti-Lucas {millesime_teruti}"))+ + + # gouvdown::scale_fill_gouv_discrete(palette = "pal_gouv_fr")+ + # ggplot2::geom_text(ggplot2::aes(y=.data$valeur , label=paste0(round(.data$valeur,1),"%")),position= ggplot2::position_dodge(width=0), vjust=0, size=3)+ + ggplot2::theme(legend.position = "bottom")+ + ggplot2::scale_y_continuous(labels = scales::number_format(suffix = " %", accuracy = 1)) + + return(graph_1_3) + +} diff --git a/devstuff_history.R b/devstuff_history.R index 632e847..9f9d5d2 100644 --- a/devstuff_history.R +++ b/devstuff_history.R @@ -31,6 +31,12 @@ usethis::use_r("creer_graphe_1_1") usethis::use_test("creer_graphe_1_1") +##creer_graphe_1_3 +usethis::use_vignette("ac-ch1-3","ac- Chapitre 1 Graphe 3") +usethis::use_r("creer_graphe_1_3") +usethis::use_test("creer_graphe_1_3") + + ## A faire tourner avant chaque commit # usethis::use_r("globals.R") # liste les objets à passer en variables globales diff --git a/man/creer_graphe_1_3.Rd b/man/creer_graphe_1_3.Rd new file mode 100644 index 0000000..aa9de03 --- /dev/null +++ b/man/creer_graphe_1_3.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/creer_graphe_1_3.R +\name{creer_graphe_1_3} +\alias{creer_graphe_1_3} +\title{Creation du graphique de la part des surfaces artificialisees (Teruti-Lucas)} +\usage{ +creer_graphe_1_3(millesime_teruti) +} +\arguments{ +\item{millesime_teruti}{une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.} +} +\value{ +Un diagramme en barres +} +\description{ +Graphique en barres de la part des surfaces artificialisees dans la surface departementale et regionale en \% (Teruti-Lucas) +} +\examples{ +creer_graphe_1_3(millesime_teruti=2018) +} diff --git a/tests/testthat/test-creer_graphe_1_3.R b/tests/testthat/test-creer_graphe_1_3.R new file mode 100644 index 0000000..60b51cb --- /dev/null +++ b/tests/testthat/test-creer_graphe_1_3.R @@ -0,0 +1,7 @@ +test_that("creer_graphe_1_3 fonctionne", { + + # Test que le graphe est un ggplot + objet <- creer_graphe_1_3(millesime_teruti = 2018) + testthat::expect_equal(attr(objet, "class"), c("gg","ggplot")) + +}) diff --git a/vignettes/.gitignore b/vignettes/.gitignore index 3432c3f..4fcf8e8 100644 --- a/vignettes/.gitignore +++ b/vignettes/.gitignore @@ -1,2 +1,3 @@ *.html +*.R diff --git a/vignettes/ac-ch1-3.Rmd b/vignettes/ac-ch1-3.Rmd new file mode 100644 index 0000000..0b144f7 --- /dev/null +++ b/vignettes/ac-ch1-3.Rmd @@ -0,0 +1,25 @@ +--- +title: "ac- Chapitre 1 Graphe 3" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{ac- Chapitre 1 Graphe 3} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +ggplot2::theme_set(gouvdown::theme_gouv(plot_title_size = 14, subtitle_size = 12, base_size = 10, caption_size = 10) + + ggplot2::theme(plot.caption.position = "plot")) +``` +# Descriptif +La fonction `creer_graphe_1_3()` produit le graphique en barres de la part des surfaces artificialisees dans la surface departementale et regionale (Teruti-Lucas). + +```{r setup} +library(propre.artificialisation) + + creer_graphe_1_3(millesime_teruti=2018) +``` -- GitLab From 6bf6bf21644f416347cd88ed6be22bc3fc25538d Mon Sep 17 00:00:00 2001 From: Daniel Kalioudjoglou <daniel.kalioudjoglou@developpement-durable.gouv.fr> Date: Thu, 8 Apr 2021 08:52:44 +0200 Subject: [PATCH 2/6] modification du fichier descrition pour gouvdown --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 480e7ab..e6202da 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -26,6 +26,7 @@ Imports: ggiraph, ggplot2, glue, + gouvdown (>= 0.0.0.9000), lubridate, magrittr, scales, @@ -33,7 +34,6 @@ Imports: tricky, utils Suggests: - gouvdown (>= 0.0.0.9000), knitr, rmarkdown, testthat (>= 3.0.0) -- GitLab From e05eedbbb774ca7ee86c7b4dfc992c712dabc9fb Mon Sep 17 00:00:00 2001 From: Daniel Kalioudjoglou <daniel.kalioudjoglou@developpement-durable.gouv.fr> Date: Thu, 8 Apr 2021 13:20:12 +0200 Subject: [PATCH 3/6] corrections des erreurs du check corrections des erreurs du check remplissage de skeleton.rmd --- R/creer_graphe_1_3.R | 11 ++-- .../publication/skeleton/skeleton.Rmd | 14 ++++- vignettes/test.R | 58 ++++++++----------- 3 files changed, 40 insertions(+), 43 deletions(-) diff --git a/R/creer_graphe_1_3.R b/R/creer_graphe_1_3.R index df794a3..efce6a1 100644 --- a/R/creer_graphe_1_3.R +++ b/R/creer_graphe_1_3.R @@ -32,10 +32,10 @@ creer_graphe_1_3 <- function(millesime_teruti){ hors_voiries=(.data$sols_batis+ .data$sols_stabilises+ .data$autres_sols_artificialises )/.data$tous_sols*100 ) %>% dplyr::select(.data$codezone,.data$zone,.data$voiries,.data$hors_voiries)%>% - tidyr::gather(.data$variable,.data$valeur,.data$voiries:.data$hors_voiries)%>% - dplyr::mutate(variable = replace(.data$variable, .data$variable=="hors_voiries","surfaces artificialisées hors voiries"), - codezone = replace(.data$codezone, .data$codezone=="52","Région"))%>% - dplyr::mutate(variable=factor(.data$variable,levels=c("surfaces artificialisées hors voiries","voiries"))%>% forcats::fct_inorder()) + tidyr::gather(variable,valeur,.data$voiries:.data$hors_voiries)%>% + dplyr::mutate(variable = replace(.data$variable, .data$variable=="hors_voiries","surfaces artificialis\u00e9es hors voiries"), + codezone = replace(.data$codezone, .data$codezone=="52","R\u00e9gion"))%>% + dplyr::mutate(variable=factor(.data$variable,levels=c("surfaces artificialis\u00e9es hors voiries","voiries"))%>% forcats::fct_inorder()) graph_1_3<-data %>% ggplot2::ggplot(ggplot2::aes(x=.data$codezone,y=.data$valeur,fill=.data$variable)) + @@ -43,9 +43,6 @@ creer_graphe_1_3 <- function(millesime_teruti){ ggplot2::labs(title= glue::glue("Part des surfaces artificialis\u00e9es dans la surface \nd\u00e9partementale et r\u00e9gionale en {millesime_teruti} en % (Teruti-Lucas)"),subtitle="",x="",y="", fill="", caption = glue::glue("Source : Teruti-Lucas {millesime_teruti}"))+ - - # gouvdown::scale_fill_gouv_discrete(palette = "pal_gouv_fr")+ - # ggplot2::geom_text(ggplot2::aes(y=.data$valeur , label=paste0(round(.data$valeur,1),"%")),position= ggplot2::position_dodge(width=0), vjust=0, size=3)+ ggplot2::theme(legend.position = "bottom")+ ggplot2::scale_y_continuous(labels = scales::number_format(suffix = " %", accuracy = 1)) diff --git a/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd index 759f38e..e383d76 100644 --- a/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd +++ b/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd @@ -19,9 +19,21 @@ library(gouvdown) library(propre.artificialisation) ``` +texte d'introduction... + ## Chapitre 1 +texte...... -```{r diag barres nb logts par nb de pieces} +```{r diag barres taux artificialisation par region} creer_graphe_1_1( params$millesime_teruti) ``` + +texte...... + + +```{r graph part surfaces artificialisees} +creer_graphe_1_3( params$millesime_teruti) +``` + +texte... diff --git a/vignettes/test.R b/vignettes/test.R index 918650e..9eac1d9 100644 --- a/vignettes/test.R +++ b/vignettes/test.R @@ -1,48 +1,36 @@ library(dplyr) +library(gouvdown) millesime_teruti <- 2018 # Creation de la table utile a la production du graphique - -data_france <- teruti %>% - dplyr::mutate(valeur=as.numeric(.data$valeur)) %>% - dplyr::filter(.data$CodeZone == "FRMETRO", - .data$date == lubridate::make_date(millesime_teruti,"01","01")) %>% - tidyr::spread(key=.data$variable,value=.data$valeur,fill=0) %>% - tricky::set_standard_names() %>% - dplyr::mutate (taux_artificialisation=.data$sols_artificiels/.data$tous_sols*100) -surf_artificialise_france <- data_france %>% - dplyr::pull(.data$sols_artificiels) - data <- teruti %>% dplyr::mutate(valeur=as.numeric(.data$valeur)) %>% - # Filtres pour ne garder que les donnees de la region et du millesime sélectionne - dplyr::filter(.data$TypeZone == "R\u00e9gions", - !(.data$CodeZone %in% c("01","02","03","04","06")), + dplyr::filter(.data$CodeZone == "52" & .data$TypeZone == "R\u00e9gions" | .data$CodeZone %in% c("44","49","53","72","85") & .data$TypeZone == "D\u00e9partements", .data$date == lubridate::make_date(millesime_teruti,"01","01")) %>% tidyr::spread(key=.data$variable,value=.data$valeur,fill=0) %>% tricky::set_standard_names() %>% - dplyr::mutate (taux_artificialisation=.data$sols_artificiels/.data$tous_sols*100, - part_dans_surface_nationale=.data$sols_artificiels/surf_artificialise_france*100, - couleur_barre = case_when( - .data$codezone=="52"~ 1, - TRUE ~ 0) - ) %>% - dplyr::select(.data$zone,.data$taux_artificialisation,.data$part_dans_surface_nationale,.data$couleur_barre) - -valeur_max <- max(data$taux_artificialisation,na.rm=T) - -graph_1_1<-data %>% - ggplot2::ggplot(ggplot2::aes(x=forcats::fct_reorder(.data$zone,.data$taux_artificialisation,.desc=T), ymax=valeur_max+4, y=.data$taux_artificialisation,fill=.data$couleur_barre)) + + dplyr::mutate (voiries=(.data$sols_revetus )/.data$tous_sols*100, + hors_voiries=(.data$sols_batis+ .data$sols_stabilises+ .data$autres_sols_artificialises )/.data$tous_sols*100 + ) %>% + dplyr::select(.data$codezone,.data$zone,.data$voiries,.data$hors_voiries)%>% + tidyr::gather(variable,valeur,.data$voiries:.data$hors_voiries)%>% + dplyr::mutate(variable = replace(.data$variable, .data$variable=="hors_voiries","surfaces artificialisées hors voiries"), + codezone = replace(.data$codezone, .data$codezone=="52","Région"))%>% + dplyr::mutate(variable=factor(.data$variable,levels=c("surfaces artificialisées hors voiries","voiries"))%>% forcats::fct_inorder()) + +graph_1_3<-data %>% + ggplot2::ggplot(ggplot2::aes(x=.data$codezone,y=.data$valeur,fill=.data$variable)) + ggplot2::geom_bar(stat="identity")+ - ggplot2::coord_flip() + - ggplot2::theme_classic()+ - ggplot2::theme(legend.position = "none")+ - ggplot2::geom_text(ggplot2::aes(y=.data$taux_artificialisation , label=paste0(round(.data$taux_artificialisation,1),"%")),position= ggplot2::position_dodge(width=1), vjust=0.5,hjust=-0.5, size=3)+ - ggplot2::labs(title="taux d'artificialisation par r\u00e9gion (Teruti-Lucas)",subtitle="",x="",y="", - fill="")+ - ggplot2::theme(axis.text.x = ggplot2::element_text()) - -return(graph_1_1) + ggplot2::labs(title= glue::glue("Part des surfaces artificialis\u00e9es dans la surface \nd\u00e9partementale et r\u00e9gionale en {millesime_teruti} en % (Teruti-Lucas)"),subtitle="",x="",y="", + fill="", + caption = glue::glue("Source : Teruti-Lucas {millesime_teruti}"))+ + + gouvdown::scale_fill_gouv_discrete(palette = "pal_gouv_fr")+ + # ggplot2::geom_text(ggplot2::aes(y=.data$valeur , label=paste0(round(.data$valeur,1),"%")),position= ggplot2::position_dodge(width=0), vjust=0, size=3)+ + ggplot2::theme(legend.position = "bottom")+ + ggplot2::scale_y_continuous(labels = scales::number_format(suffix = " %", accuracy = 1)) + +return(graph_1_3) -- GitLab From 1c0644f6e1ac2fac78b5f6ea3647bdbc9d192c19 Mon Sep 17 00:00:00 2001 From: Daniel Kalioudjoglou <daniel.kalioudjoglou@developpement-durable.gouv.fr> Date: Thu, 8 Apr 2021 15:38:18 +0200 Subject: [PATCH 4/6] finalisation du graphique ajout des valeurs sur les barres --- NAMESPACE | 3 +++ R/creer_graphe_1_3.R | 14 +++++++++----- R/globals.R | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 8f07890..88dcef3 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -5,6 +5,8 @@ export(creer_graphe_1_1) export(creer_graphe_1_3) export(format_fr_pct) importFrom(attempt,stop_if_not) +importFrom(dplyr,arrange) +importFrom(dplyr,desc) importFrom(dplyr,filter) importFrom(dplyr,first) importFrom(dplyr,group_by) @@ -20,6 +22,7 @@ importFrom(ggiraph,ggiraph) importFrom(ggplot2,aes) importFrom(ggplot2,element_text) importFrom(ggplot2,geom_bar) +importFrom(ggplot2,geom_col) importFrom(ggplot2,geom_text) importFrom(ggplot2,ggplot) importFrom(ggplot2,labs) diff --git a/R/creer_graphe_1_3.R b/R/creer_graphe_1_3.R index efce6a1..74dd46a 100644 --- a/R/creer_graphe_1_3.R +++ b/R/creer_graphe_1_3.R @@ -5,9 +5,9 @@ #' #' @return Un diagramme en barres #' -#' @importFrom dplyr filter select mutate +#' @importFrom dplyr filter select mutate group_by desc arrange #' @importFrom forcats fct_inorder -#' @importFrom ggplot2 ggplot aes geom_bar labs scale_y_continuous theme geom_text +#' @importFrom ggplot2 ggplot aes geom_bar labs scale_y_continuous theme geom_text geom_col #' @importFrom scales number_format #' @importFrom glue glue #' @importFrom lubridate make_date @@ -35,11 +35,15 @@ creer_graphe_1_3 <- function(millesime_teruti){ tidyr::gather(variable,valeur,.data$voiries:.data$hors_voiries)%>% dplyr::mutate(variable = replace(.data$variable, .data$variable=="hors_voiries","surfaces artificialis\u00e9es hors voiries"), codezone = replace(.data$codezone, .data$codezone=="52","R\u00e9gion"))%>% - dplyr::mutate(variable=factor(.data$variable,levels=c("surfaces artificialis\u00e9es hors voiries","voiries"))%>% forcats::fct_inorder()) + dplyr::mutate(variable=factor(.data$variable,levels=c("surfaces artificialis\u00e9es hors voiries","voiries"))%>% forcats::fct_inorder()) %>% + dplyr::group_by(.data$codezone) %>% + dplyr::arrange(.data$codezone, dplyr::desc(.data$variable)) %>% + dplyr::mutate(position = cumsum(.data$valeur) - 0.5 * .data$valeur) graph_1_3<-data %>% - ggplot2::ggplot(ggplot2::aes(x=.data$codezone,y=.data$valeur,fill=.data$variable)) + - ggplot2::geom_bar(stat="identity")+ + ggplot2::ggplot(ggplot2::aes(x=.data$codezone,y=.data$valeur)) + + ggplot2::geom_col(ggplot2::aes(fill = .data$variable), width = 0.9)+ + ggplot2::geom_text(ggplot2::aes(y = .data$position, label = paste0(round(.data$valeur,1),"%"), group =.data$variable), color = "white", size=3)+ ggplot2::labs(title= glue::glue("Part des surfaces artificialis\u00e9es dans la surface \nd\u00e9partementale et r\u00e9gionale en {millesime_teruti} en % (Teruti-Lucas)"),subtitle="",x="",y="", fill="", caption = glue::glue("Source : Teruti-Lucas {millesime_teruti}"))+ diff --git a/R/globals.R b/R/globals.R index 5e9a009..b79bd5b 100644 --- a/R/globals.R +++ b/R/globals.R @@ -1,3 +1,3 @@ utils::globalVariables( - c("teruti",".data") + c("teruti",".data","variable","valeur") ) -- GitLab From 061b1f732911b687894ff26ed1766f87ec61284b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Theuliere?= <mael.theuliere@developpement-durable.gouv.fr> Date: Fri, 9 Apr 2021 16:33:52 +0200 Subject: [PATCH 5/6] finalisation --- R/creer_graphe_1_3.R | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/R/creer_graphe_1_3.R b/R/creer_graphe_1_3.R index 74dd46a..7f5d4b2 100644 --- a/R/creer_graphe_1_3.R +++ b/R/creer_graphe_1_3.R @@ -7,12 +7,13 @@ #' #' @importFrom dplyr filter select mutate group_by desc arrange #' @importFrom forcats fct_inorder -#' @importFrom ggplot2 ggplot aes geom_bar labs scale_y_continuous theme geom_text geom_col +#' @importFrom ggplot2 ggplot aes geom_bar labs scale_y_continuous theme geom_text geom_col scale_fill_manual #' @importFrom scales number_format #' @importFrom glue glue #' @importFrom lubridate make_date #' @importFrom tidyr spread gather #' @importFrom tricky set_standard_names +#' @importFrom gouvdown gouv_palettes #' #' @export #' @@ -28,27 +29,32 @@ creer_graphe_1_3 <- function(millesime_teruti){ .data$date == lubridate::make_date(millesime_teruti,"01","01")) %>% tidyr::spread(key=.data$variable,value=.data$valeur,fill=0) %>% tricky::set_standard_names() %>% - dplyr::mutate (voiries=(.data$sols_revetus )/.data$tous_sols*100, + dplyr::arrange(.data$typezone) %>% + dplyr::mutate(zone = forcats::fct_drop(.data$zone) %>% forcats::fct_inorder(), + voiries=(.data$sols_revetus )/.data$tous_sols*100, hors_voiries=(.data$sols_batis+ .data$sols_stabilises+ .data$autres_sols_artificialises )/.data$tous_sols*100 ) %>% - dplyr::select(.data$codezone,.data$zone,.data$voiries,.data$hors_voiries)%>% + dplyr::select(.data$typezone,.data$codezone,.data$zone,.data$voiries,.data$hors_voiries)%>% tidyr::gather(variable,valeur,.data$voiries:.data$hors_voiries)%>% dplyr::mutate(variable = replace(.data$variable, .data$variable=="hors_voiries","surfaces artificialis\u00e9es hors voiries"), codezone = replace(.data$codezone, .data$codezone=="52","R\u00e9gion"))%>% dplyr::mutate(variable=factor(.data$variable,levels=c("surfaces artificialis\u00e9es hors voiries","voiries"))%>% forcats::fct_inorder()) %>% - dplyr::group_by(.data$codezone) %>% + dplyr::group_by(.data$typezone,.data$codezone,.data$zone) %>% dplyr::arrange(.data$codezone, dplyr::desc(.data$variable)) %>% dplyr::mutate(position = cumsum(.data$valeur) - 0.5 * .data$valeur) graph_1_3<-data %>% - ggplot2::ggplot(ggplot2::aes(x=.data$codezone,y=.data$valeur)) + + ggplot2::ggplot(ggplot2::aes(x=.data$zone,y=.data$valeur)) + ggplot2::geom_col(ggplot2::aes(fill = .data$variable), width = 0.9)+ ggplot2::geom_text(ggplot2::aes(y = .data$position, label = paste0(round(.data$valeur,1),"%"), group =.data$variable), color = "white", size=3)+ ggplot2::labs(title= glue::glue("Part des surfaces artificialis\u00e9es dans la surface \nd\u00e9partementale et r\u00e9gionale en {millesime_teruti} en % (Teruti-Lucas)"),subtitle="",x="",y="", fill="", caption = glue::glue("Source : Teruti-Lucas {millesime_teruti}"))+ ggplot2::theme(legend.position = "bottom")+ - ggplot2::scale_y_continuous(labels = scales::number_format(suffix = " %", accuracy = 1)) + ggplot2::scale_y_continuous(labels = scales::number_format(suffix = " %", accuracy = 1)) + + ggplot2::coord_flip() + + ggplot2::scale_x_discrete(limits=rev) + + ggplot2::scale_fill_manual(values = gouvdown::gouv_palettes[["pal_gouv_i"]][1:2]) return(graph_1_3) -- GitLab From eb757e7a8ea8ef3c6c3e2a066bc8e186953a7bca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Theuliere?= <mael.theuliere@developpement-durable.gouv.fr> Date: Fri, 9 Apr 2021 19:26:58 +0200 Subject: [PATCH 6/6] fix bug gouv_palette --- NAMESPACE | 1 + R/creer_graphe_1_3.R | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/NAMESPACE b/NAMESPACE index 88dcef3..059c749 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -26,6 +26,7 @@ importFrom(ggplot2,geom_col) importFrom(ggplot2,geom_text) importFrom(ggplot2,ggplot) importFrom(ggplot2,labs) +importFrom(ggplot2,scale_fill_manual) importFrom(ggplot2,scale_y_continuous) importFrom(ggplot2,theme) importFrom(glue,glue) diff --git a/R/creer_graphe_1_3.R b/R/creer_graphe_1_3.R index 7f5d4b2..6d0ab6c 100644 --- a/R/creer_graphe_1_3.R +++ b/R/creer_graphe_1_3.R @@ -13,7 +13,6 @@ #' @importFrom lubridate make_date #' @importFrom tidyr spread gather #' @importFrom tricky set_standard_names -#' @importFrom gouvdown gouv_palettes #' #' @export #' -- GitLab