Composition communale des circonscriptions législatives - circo_composition

Données - INSEE

Composition des circonscriptions législatives par commune (géographie en vigueur pour les élections de 2022) : 557 circonscriptions, 34948 communes. Une commune est « entière » si elle appartient à une seule circonscription, « partielle » si elle est découpée entre plusieurs.

Nombre de circonscriptions par département

Code
circo |>
  distinct(dep, libdep, circo) |>
  count(dep, libdep) |>
  slice_max(n, n = 30, with_ties = FALSE) |>
  mutate(lab = paste0(libdep, " (", dep, ")")) |>
  ggplot(aes(x = n, y = fct_reorder(lab, n))) +
  geom_col(fill = bleu) +
  geom_text(aes(label = n), hjust = -0.2, size = 3.2) +
  scale_x_continuous(expand = expansion(mult = c(0, 0.1))) +
  theme_ref() +
  labs(x = "Circonscriptions", y = NULL, title = "Les 30 départements comptant le plus de circonscriptions")

Communes par circonscription

Code
nb <- circo |> distinct(circo, commune) |> count(circo)
nb |>
  ggplot(aes(x = n)) +
  geom_histogram(binwidth = 5, fill = rose) +
  scale_x_continuous(breaks = seq(0, 200, 25)) +
  theme_ref() +
  labs(x = "Nombre de communes dans la circonscription", y = "Circonscriptions",
       title = "Des circonscriptions de une à plusieurs centaines de communes",
       subtitle = sprintf("médiane : %d communes ; maximum : %d", median(nb$n), max(nb$n)))

Communes découpées

Code
circo |>
  count(type_com) |>
  mutate(part = 100 * n / sum(n)) |>
  ggplot(aes(x = type_com, y = n, fill = type_com)) +
  geom_col(show.legend = FALSE) +
  geom_text(aes(label = sprintf("%s (%.1f %%)", format(n, big.mark = " "), part)), vjust = -0.4) +
  scale_fill_manual(values = c(bleu, rose)) +
  scale_y_continuous(expand = expansion(mult = c(0, 0.12))) +
  theme_ref() +
  labs(x = NULL, y = "Lignes commune-circonscription", title = "Communes entières et communes partagées entre circonscriptions")

Table

Code
circo |>
  print_table_conditional()