Last data update: 29 sept. 2026, 17:31
Last compile: 29 sept. 2026, 17:34
point_indice |>
ggplot(aes(x = annee, y = valeur_indice_100_euros)) +
geom_line(linewidth = 1, color = "#1B3F8B") +
geom_point() +
theme_minimal(base_size = 11) +
labs(x = NULL, y = "€ (valeur de 100 points)",
title = "Valeur du point d'indice de la fonction publique",
subtitle = "à la dernière revalorisation de chaque année, depuis 1996") +
theme(panel.grid.minor = element_blank())
# Même principe que data/ipp/indicefp.qmd : comparer l'évolution du point
# d'indice réel selon qu'on le déflate par l'IPC (convention Insee, "euros
# constants") ou par l'IPCH (Eurostat), indexée à 100 en 1996.
point_indice |>
left_join(ipc_ipch, by = "annee") |>
transmute(annee,
`Point d'indice réel (IPC, Insee)` = valeur_indice_100_euros / IPC,
`Point d'indice réel (IPCH, Eurostat)` = valeur_indice_100_euros / IPCH) |>
pivot_longer(-annee, names_to = "deflateur", values_to = "valeur") |>
group_by(deflateur) |>
mutate(valeur = 100 * valeur / valeur[1]) |>
ungroup() |>
ggplot(aes(x = annee, y = valeur, color = deflateur)) +
geom_line(linewidth = 1) +
geom_point() +
scale_color_manual(values = colors_fp, name = NULL) +
theme_minimal(base_size = 11) +
labs(x = NULL, y = "Base 100 en 1996",
title = "Valeur réelle du point d'indice depuis 1996",
subtitle = "selon le déflateur utilisé, comme dans data/ipp/indicefp.qmd") +
theme(legend.position = "bottom", panel.grid.minor = element_blank())
smic |>
filter(serie %in% c("Salaire minimum interprofessionnel de croissance (Smic) - Montant mensuel brut (en euros)",
"Minimum de traitement de la fonction publique hors indemnité différentielle - Montant mensuel brut (en euros)",
"Minimum de traitement de la fonction publique y compris indemnité différentielle - Montant mensuel brut (en euros)")) |>
mutate(serie = recode(serie,
"Salaire minimum interprofessionnel de croissance (Smic) - Montant mensuel brut (en euros)" = "Smic",
"Minimum de traitement de la fonction publique hors indemnité différentielle - Montant mensuel brut (en euros)" = "Minimum FP (hors indemnité différentielle)",
"Minimum de traitement de la fonction publique y compris indemnité différentielle - Montant mensuel brut (en euros)" = "Minimum FP (y compris indemnité différentielle)"),
date = parse_date_fr(date)) |>
filter(!is.na(date)) |>
ggplot(aes(x = date, y = valeur, color = serie)) +
geom_step(linewidth = 1) +
scale_color_brewer(palette = "Set1", name = NULL) +
theme_minimal(base_size = 10) +
labs(x = NULL, y = "€ par mois (brut)",
title = "Minimum de traitement de la fonction publique vs. Smic",
subtitle = "montant mensuel brut, depuis 1985") +
theme(legend.position = "bottom", panel.grid.minor = element_blank()) +
guides(color = guide_legend(ncol = 1))
smic |>
filter(str_ends(serie, "Indice majoré")) |>
mutate(date = parse_date_fr(date),
serie = str_remove(serie, " - Indice majoré")) |>
filter(!is.na(date)) |>
ggplot(aes(x = date, y = valeur, color = serie)) +
geom_step(linewidth = 1) +
scale_color_brewer(palette = "Set1", name = NULL) +
theme_minimal(base_size = 10) +
labs(x = NULL, y = "Indice majoré",
title = "Indice majoré du minimum de traitement de la fonction publique",
subtitle = "depuis 1985") +
theme(legend.position = "bottom", panel.grid.minor = element_blank())
carac |>
filter(indicateur == "Traitement mensuel brut") |>
mutate(niveau = fct_reorder(niveau, valeur, .fun = max)) |>
ggplot(aes(x = annee, y = valeur, color = niveau)) +
geom_line(linewidth = 1) +
scale_color_brewer(palette = "Set2", name = NULL) +
theme_minimal(base_size = 10) +
labs(x = NULL, y = "€ par mois (brut)",
title = "Traitements indiciaires caractéristiques de la fonction publique",
subtitle = "2015-2021") +
theme(legend.position = "bottom", panel.grid.minor = element_blank()) +
guides(color = guide_legend(ncol = 1))
retenue |>
ggplot(aes(x = annee, y = valeur / 100)) +
geom_line(linewidth = 1, color = "#1B3F8B") +
geom_point() +
scale_y_continuous(labels = scales::percent_format(accuracy = 0.1)) +
theme_minimal(base_size = 12) +
labs(x = NULL, y = NULL,
title = "Taux de retenue pour pension civile",
subtitle = "en % du traitement brut, 2009-2015") +
theme(panel.grid.minor = element_blank())