1 dataset, 10 visualisations — retour de La Fabrique de l’info
Retour sur l’atelier dataviz de la Fabrique de l’info !
La fabrique de l’info
Lors de cette journée d’ateliers et de conférences, j’ai animé un atelier sur la thématique de la dataviz. Le message ? Une visualisation de données, autant qu’un texte, relève d’un choix éditorial — et un dataset peut dire énormément de choses différentes en fonction du message que l’on souhaite passer.
Retrouvez les slides de la présentation ici !
Pour cela, j’ai notamment pris l’exemple d’un jeu de données, que j’ai décliné en 10 visualisations. Voici comment les réaliser avec R.
1 jeu de données, 10 visualisations
Notes Les dataviz ont été crées avec le support des databzhtools
que vous pouvez télécharger ici : https://github.com/DataBzh/Data-bzh-tools
Pour reproduire exactement ces visualisations, téléchargez ces outils, et charger les via : source("data-bzh-tools-master/main.R")
#Charger les données
library(tidyverse)
source(file = "data-bzh-tools-master/main.R")
prim <- read_csv2("https://data.enseignementsup-recherche.gouv.fr/explore/dataset/fr-esr-pes-pedr-beneficiaires/download/?format=csv&timezone=Europe/Berlin&use_labels_for_header=true")
prim$Année <- paste0("01-01-",prim$Année) %>%
lubridate::dmy()
Visualisation d’effectifs
prim %>%
group_by(Année) %>%
summarise(somme = sum(Bénéficiaires))%>%
ggplot(aes(Année, somme)) +
geom_bar(stat = "identity", fill = databzh$colour1) +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Proportions par secteur
prim %>%
group_by(Année, `Secteur disciplinaire`) %>%
summarise(somme = sum(Bénéficiaires))%>%
ggplot(aes(Année, somme, fill = `Secteur disciplinaire`)) +
scale_fill_manual(values = databzh$colours) +
geom_bar(stat = "identity", position = "fill") +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Par secteur, en valeur absolue
prim %>%
group_by(Année, Bénéficiaires, `Secteur disciplinaire`) %>%
summarise(somme = sum(Bénéficiaires))%>%
ggplot(aes(Année,somme, group = `Secteur disciplinaire`, col = `Secteur disciplinaire`)) +
geom_point() +
scale_color_manual(values = databzh$colours) +
facet_grid(~`Secteur disciplinaire`) +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Carte de France
#states <- map_data("france")
prim2 <- prim %>%
separate(`Géo-localisation`, into = c("lon","lat"), sep =',') %>%
group_by(lon, lat) %>%
summarise(somme = sum(Bénéficiaires))
ggplot(states, aes(long,lat, group=group)) +
geom_polygon(fill = "#e4e4e4") +
coord_map() +
geom_path(data=states, aes(long, lat, group=group, fill=NULL), color="grey50") +
geom_point(data = prim2, aes(x = as.numeric(lat), y = as.numeric(lon), group = NULL,size = somme, col = databzh$colour3)) +
scale_color_manual(values = palette) +
scale_size(range = c(1,10)) +
xlim(range(range(states$long))) +
ylim(range(range(states$lat))) +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Boxplot
ggplot(prim, aes(Région, Bénéficiaires)) +
geom_boxplot(col = databzh$colour4) +
coord_flip() +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Dotplot
prim %>%
group_by(Région) %>%
summarise(somme = sum(Bénéficiaires))%>%
ggplot(aes(reorder(Région, somme), somme)) +
geom_point(col = databzh$colour1, size=4) +
coord_flip() +
xlab("")+
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Dotplot bis
prim %>%
group_by(Établissement) %>%
summarise(somme = sum(Bénéficiaires))%>%
na.omit() %>%
ggplot(aes(reorder(Établissement, somme), somme)) +
geom_point(col = databzh$colour3, size=4) +
coord_flip() +
xlab("")+
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Histogramme
prim %>%
group_by(Établissement) %>%
summarise(somme = sum(Bénéficiaires))%>%
na.omit() %>%
ggplot(aes(somme)) +
geom_histogram(fill = databzh$colour3) +
xlab("Bénéficiaire")+
ylab("Nombre d'établissements dans la tranche") +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Ligne
prim %>%
group_by(Année, `Groupe de corps`) %>%
summarise(somme = sum(Bénéficiaires))%>%
ggplot(aes(Année, somme, group =`Groupe de corps`, col =`Groupe de corps`)) +
geom_line(stat = "identity", size = 3) +
scale_color_manual(values = databzh$colours) +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
Barplot
prim %>%
group_by(Année, Bénéficiaires, Sexe) %>%
summarise(somme = sum(Bénéficiaires))%>%
ggplot(aes(Année, somme)) +
geom_bar(stat = "identity", fill = databzh$colour2) +
scale_fill_manual(values = databzh$colours) +
facet_grid(Sexe~.) +
labs(title = "Les bénéficiaires de la prime d'excellence scientifique") +
databzhTheme()
What do you think?