Last data update: 17 sept. 2026, 22:05
Last compile: 18 sept. 2026, 02:52
fig1 |>
mutate(ratio = str_remove(ratio, "[0-9]$")) |>
ggplot(aes(x = annee, y = value)) +
geom_col(fill = "#1B3F8B") +
geom_hline(yintercept = 0, color = "grey40", linewidth = 0.4) +
geom_text(aes(label = round(value, 1)), vjust = ifelse(fig1$value >= 0, -0.4, 1.2), size = 3) +
facet_wrap(~ ratio, scales = "free_y") +
theme_minimal(base_size = 11) +
labs(x = NULL, y = NULL,
title = "Principaux ratios de finances publiques",
subtitle = "en % du PIB") +
theme(panel.grid.minor = element_blank(),
panel.grid.major.x = element_blank())
fig2 |>
select(annee, `Dépenses publiques` = depenses, `Recettes publiques` = recettes) |>
pivot_longer(-annee, names_to = "serie", values_to = "valeur") |>
ggplot(aes(x = annee, y = valeur, color = serie)) +
geom_line(linewidth = 1) +
scale_color_manual(values = c("Dépenses publiques" = "#E8737A", "Recettes publiques" = "#1B3F8B"), name = NULL) +
theme_minimal(base_size = 13) +
labs(x = NULL, y = NULL,
title = "Dépenses et recettes publiques de 1995 à 2025",
subtitle = "en points de PIB") +
theme(legend.position = "bottom",
panel.grid.minor = element_blank())
fig2 |>
ggplot(aes(x = annee, y = solde, fill = solde >= 0)) +
geom_col() +
geom_hline(yintercept = 0, color = "grey40", linewidth = 0.4) +
scale_fill_manual(values = c("TRUE" = "#1B3F8B", "FALSE" = "#E8737A"), guide = "none") +
theme_minimal(base_size = 13) +
labs(x = NULL, y = NULL,
title = "Capacité (+) ou besoin (-) de financement des administrations publiques",
subtitle = "en points de PIB, 1995-2025") +
theme(panel.grid.minor = element_blank())
fig3 |>
filter(administration != "Ensemble des administrations publiques") |>
mutate(annee = factor(annee)) |>
ggplot(aes(x = annee, y = solde_md_euros, fill = administration)) +
geom_col() +
geom_hline(yintercept = 0, color = "grey40", linewidth = 0.4) +
scale_fill_brewer(palette = "Set2", name = NULL) +
theme_minimal(base_size = 13) +
labs(x = NULL, y = NULL,
title = "Capacité (+) ou besoin (-) de financement par sous-secteur",
subtitle = "en milliards d'euros ; empilement = ensemble des administrations publiques") +
theme(legend.position = "bottom",
panel.grid.minor = element_blank())
fig4 |>
filter(categorie != "Solde", !str_detect(poste, "^Total des"),
administration != "Ensemble des administrations publiques") |>
mutate(poste = str_remove(poste, ",? dont :?$|[0-9]$"),
poste = paste0(poste, " (", categorie, ")"),
poste = fct_reorder(poste, montant, .fun = sum)) |>
ggplot(aes(x = poste, y = montant, fill = administration)) +
geom_col() +
coord_flip() +
facet_wrap(~ categorie, scales = "free", ncol = 1) +
scale_fill_brewer(palette = "Set2", name = NULL) +
theme_minimal(base_size = 11) +
labs(x = NULL, y = "Milliards d'euros",
title = "Principales dépenses et recettes des administrations publiques en 2025",
subtitle = "empilement par sous-secteur") +
theme(legend.position = "bottom",
panel.grid.minor = element_blank(),
panel.grid.major.y = element_blank())
fig4 |>
filter(administration == "Ensemble des administrations publiques",
categorie != "Solde", !str_detect(poste, "^Total des"), !is.na(evol)) |>
mutate(poste = str_remove(poste, ",? dont :?$|[0-9]$"),
poste = paste0(poste, " (", categorie, ")"),
poste = fct_reorder(poste, evol)) |>
ggplot(aes(x = poste, y = evol, fill = categorie)) +
geom_col() +
geom_hline(yintercept = 0, color = "grey40", linewidth = 0.4) +
coord_flip() +
scale_fill_manual(values = c("Dépenses" = "#E8737A", "Recettes" = "#1B3F8B"), name = NULL) +
theme_minimal(base_size = 12) +
labs(x = NULL, y = "Évolution 2025/2024 (%)",
title = "Évolution 2025/2024 des principaux postes de dépenses et recettes",
subtitle = "ensemble des administrations publiques") +
theme(legend.position = "bottom",
panel.grid.minor = element_blank(),
panel.grid.major.y = element_blank())
fig5 |>
filter(unite == "Md €") |>
mutate(administration = fct_reorder(administration, dette_publique_brute)) |>
select(administration, annee, `Dette publique brute` = dette_publique_brute,
`Dette publique nette` = dette_publique_nette) |>
pivot_longer(-c(administration, annee), names_to = "serie", values_to = "montant") |>
mutate(annee = factor(annee)) |>
ggplot(aes(x = administration, y = montant, fill = annee, alpha = serie)) +
geom_col(position = position_dodge(width = 0.75), width = 0.7) +
coord_flip() +
scale_fill_manual(values = c("2024" = "#8FB0DE", "2025" = "#1B3F8B"), name = NULL) +
scale_alpha_manual(values = c("Dette publique brute" = 1, "Dette publique nette" = 0.55), name = NULL) +
theme_minimal(base_size = 12) +
labs(x = NULL, y = "Milliards d'euros",
title = "Dette publique brute et nette par sous-secteur",
subtitle = "au 31 décembre 2024 et 2025") +
theme(legend.position = "bottom",
panel.grid.minor = element_blank(),
panel.grid.major.y = element_blank())