Last data update: 11 oct. 2026, 07:19
Last compile: 11 oct. 2026, 08:13
Source : SIES, data.enseignementsup-recherche.gouv.fr. Effectifs d’étudiants inscrits, totaux et par sexe, dans les établissements d’enseignement supérieur (rentrées 2015 à 2024), par composante, degré d’études et commune. effectifhdccpge : effectifs hors doubles comptes CPGE.
`fr-esr-atlas_regional-effectifs-d-etudiants-inscrits-detail_etablissements` |>
group_by(rentree) |>
summarise(effectif = sum(effectifhdccpge, na.rm = TRUE) / 1e6) |>
mutate(date = as.Date(paste0(rentree, "-10-01"))) |>
ggplot(aes(x = date, y = effectif)) +
geom_line() + geom_point() + theme_minimal() + xlab("") +
ylab("Millions d'étudiants inscrits") +
scale_x_date(date_breaks = "1 year", labels = date_format("%Y")) +
scale_y_continuous(limits = c(0, NA))
`fr-esr-atlas_regional-effectifs-d-etudiants-inscrits-detail_etablissements` |>
filter(rentree == max(rentree)) |>
group_by(categorie_etablissement, secteur_etablissement) |>
summarise(effectif = sum(effectifhdccpge, na.rm = TRUE) / 1e3, .groups = "drop") |>
mutate(categorie_etablissement = fct_reorder(str_wrap(categorie_etablissement, 40), effectif, .fun = sum)) |>
ggplot(aes(x = categorie_etablissement, y = effectif, fill = secteur_etablissement)) +
geom_col() + coord_flip() + theme_minimal() + xlab("") + ylab("Milliers d'étudiants (dernière rentrée)") +
theme(legend.position = "bottom", legend.title = element_blank())
`fr-esr-atlas_regional-effectifs-d-etudiants-inscrits-detail_etablissements` |>
group_by(rentree, secteur_etablissement) |>
summarise(effectif = sum(effectifhdccpge, na.rm = TRUE), .groups = "drop") |>
group_by(rentree) |>
mutate(part = effectif / sum(effectif), date = as.Date(paste0(rentree, "-10-01"))) |>
filter(secteur_etablissement == "Privé") |>
ggplot(aes(x = date, y = part)) +
geom_line() + geom_point() + theme_minimal() + xlab("") +
ylab("Part des étudiants dans le privé") +
scale_x_date(date_breaks = "1 year", labels = date_format("%Y")) +
scale_y_continuous(labels = percent_format(accuracy = 1), limits = c(0, NA))
`fr-esr-atlas_regional-effectifs-d-etudiants-inscrits-detail_etablissements` |>
filter(!is.na(degre_etudes)) |>
group_by(rentree, degre_etudes) |>
summarise(effectif = sum(effectifhdccpge, na.rm = TRUE) / 1e3, .groups = "drop") |>
mutate(date = as.Date(paste0(rentree, "-10-01"))) |>
ggplot(aes(x = date, y = effectif, fill = degre_etudes)) +
geom_area() + theme_minimal() + xlab("") + ylab("Milliers d'étudiants") +
scale_x_date(date_breaks = "1 year", labels = date_format("%Y")) +
theme(legend.position = "bottom", legend.title = element_blank())
`fr-esr-atlas_regional-effectifs-d-etudiants-inscrits-detail_etablissements` |>
group_by(rentree, categorie_etablissement) |>
summarise(part = sum(dont_femmes, na.rm = TRUE) / sum(effectifhdccpge, na.rm = TRUE), eff = sum(effectifhdccpge, na.rm = TRUE), .groups = "drop") |>
filter(rentree == max(rentree), eff > 20000) |>
mutate(categorie_etablissement = fct_reorder(str_wrap(categorie_etablissement, 40), part)) |>
ggplot(aes(x = categorie_etablissement, y = part)) +
geom_col(fill = "#2166ac") + geom_hline(yintercept = 0.5, linetype = "dashed") +
coord_flip() + theme_minimal() + xlab("") + ylab("Part des femmes (dernière rentrée)") +
scale_y_continuous(labels = percent_format(accuracy = 1))
`fr-esr-atlas_regional-effectifs-d-etudiants-inscrits-detail_etablissements` |>
filter(rentree == max(rentree)) |>
group_by(reg_nom) |>
summarise(effectif = sum(effectifhdccpge, na.rm = TRUE) / 1e3) |>
mutate(reg_nom = fct_reorder(reg_nom, effectif)) |>
ggplot(aes(x = reg_nom, y = effectif)) +
geom_col(fill = "#2166ac") + coord_flip() + theme_minimal() +
xlab("") + ylab("Milliers d'étudiants (dernière rentrée)")
`fr-esr-atlas_regional-effectifs-d-etudiants-inscrits-detail_etablissements` |>
filter(rentree == max(rentree)) |>
group_by(uucr_nom) |>
summarise(effectif = sum(effectifhdccpge, na.rm = TRUE) / 1e3) |>
slice_max(effectif, n = 20) |>
mutate(uucr_nom = fct_reorder(uucr_nom, effectif)) |>
ggplot(aes(x = uucr_nom, y = effectif)) +
geom_col(fill = "#e08214") + coord_flip() + theme_minimal() +
xlab("") + ylab("Milliers d'étudiants (dernière rentrée)")