Effectifs et caractéristiques des ministères - FT1.3-SL_Fonction_publique_de_lEtat

Données - DGAFP

Figure 1.3-1 : effectifs par ministère

Code
fig1 |>
  filter(categorie == "Total", !ministere %in% agregats, annee == max(annee)) |>
  mutate(ministere = fct_reorder(ministere, valeur)) |>
  ggplot(aes(x = ministere, y = valeur / 1000)) +
  geom_col(fill = "#1B3F8B") +
  coord_flip() +
  theme_minimal(base_size = 8) +
  labs(x = NULL, y = "Milliers d'agents",
       title = "Effectifs physiques par ministère",
       subtitle = "ministères et EPA rattachés, dernière année disponible") +
  theme(panel.grid.minor = element_blank())

Code
fig1 |>
  filter(categorie == "Total", !ministere %in% agregats) |>
  group_by(ministere) |>
  filter(annee %in% c(min(annee), max(annee))) |>
  arrange(annee, .by_group = TRUE) |>
  mutate(evolution = 100 * (valeur / first(valeur) - 1)) |>
  filter(annee == max(annee)) |>
  ungroup() |>
  mutate(ministere = fct_reorder(ministere, evolution)) |>
  ggplot(aes(x = ministere, y = evolution)) +
  geom_col(fill = "#E8737A") +
  geom_hline(yintercept = 0, color = "grey30") +
  coord_flip() +
  theme_minimal(base_size = 8) +
  labs(x = NULL, y = "% d'évolution",
       title = "Évolution des effectifs par ministère",
       subtitle = "depuis 1998") +
  theme(panel.grid.minor = element_blank())

Figure 1.3-3 : effectifs des ministères par statut

Code
fig3 |>
  filter(statut != "Total ministères") |>
  ggplot(aes(x = annee, y = valeur / 1000, fill = statut)) +
  geom_col() +
  scale_fill_brewer(palette = "Set2", name = NULL) +
  theme_minimal(base_size = 10) +
  labs(x = NULL, y = "Milliers d'agents",
       title = "Effectifs des ministères par statut",
       subtitle = "1998-2019") +
  theme(legend.position = "bottom", panel.grid.minor = element_blank())

Part des femmes par ministère

Code
fig_ministere |>
  filter(mesure == "Part des femmes (%)", categorie == "Total FPE", !ministere %in% agregats,
         annee == max(annee)) |>
  mutate(ministere = fct_reorder(ministere, valeur)) |>
  ggplot(aes(x = ministere, y = valeur / 100)) +
  geom_col(fill = "#1B3F8B") +
  coord_flip() +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
  theme_minimal(base_size = 8) +
  labs(x = NULL, y = NULL,
       title = "Part des femmes par ministère",
       subtitle = "dernière année disponible") +
  theme(panel.grid.minor = element_blank())

Âge moyen par ministère

Code
fig_ministere |>
  filter(mesure == "Âge moyen (années)", categorie == "Total FPE", !ministere %in% agregats,
         annee == max(annee)) |>
  mutate(ministere = fct_reorder(ministere, valeur)) |>
  ggplot(aes(x = ministere, y = valeur)) +
  geom_col(fill = "#E8737A") +
  coord_flip() +
  theme_minimal(base_size = 8) +
  labs(x = NULL, y = "Âge moyen (années)",
       title = "Âge moyen par ministère",
       subtitle = "dernière année disponible") +
  theme(panel.grid.minor = element_blank())