1 dataset, 10 visualisations — retour de La Fabrique de l’info

2 minute(s) read

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&amp;timezone=Europe/Berlin&amp;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?