Last data update: 29 sept. 2026, 21:33
Last compile: 29 sept. 2026, 21:33
taille_ordre <- c("Communes rurales", "de 2 000 à 4 999 habitants", "de 5 000 à 9 999 habitants",
"de 10 000 à 19 999 habitants", "de 20 000 à 49 999 habitants",
"de 50 000 à 99 999 habitants", "de 100 000 à 199 999 habitants",
"de 200 000 à 1 999 999 habitants", "Unité urbaine de Paris", "Ensemble")
fig1 |>
mutate(taille_uu = fct_relevel(taille_uu, taille_ordre),
statut = fct_relevel(statut, statuts_ordre)) |>
ggplot(aes(x = taille_uu, y = valeur / 100, fill = statut)) +
geom_col(position = "stack") +
coord_flip() +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
scale_fill_manual(values = statuts_couleurs, name = NULL) +
theme_minimal(base_size = 9) +
labs(x = NULL, y = NULL,
title = "Statuts d'occupation des logements",
subtitle = "selon la taille de l'unité urbaine") +
theme(legend.position = "bottom", panel.grid.minor = element_blank()) +
guides(fill = guide_legend(ncol = 2))
fig2 |>
ggplot(aes(x = age, y = valeur / 100, color = statut)) +
geom_line(linewidth = 1) +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
scale_color_manual(values = statuts_couleurs, name = NULL) +
theme_minimal(base_size = 10) +
labs(x = "Âge", y = NULL,
title = "Distribution de l'âge de la personne de référence",
subtitle = "selon le statut d'occupation") +
theme(legend.position = "bottom", panel.grid.minor = element_blank())
fig3 |>
ggplot(aes(x = niveau_vie, y = valeur / 100, color = statut)) +
geom_line(linewidth = 1) +
scale_x_continuous(labels = scales::comma_format(big.mark = " ")) +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
scale_color_manual(values = statuts_couleurs, name = NULL) +
theme_minimal(base_size = 10) +
labs(x = "Niveau de vie annuel (€)", y = NULL,
title = "Distribution des niveaux de vie",
subtitle = "selon le statut d'occupation") +
theme(legend.position = "bottom", panel.grid.minor = element_blank())
fig4 |>
mutate(composition = fct_relevel(composition, "Personne vivant seule", "Couple sans enfant",
"Couple avec enfants", "Famille monoparentale")) |>
ggplot(aes(x = composition, y = valeur / 100, fill = statut)) +
geom_col(position = "dodge") +
coord_flip() +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
scale_fill_manual(values = statuts_couleurs, name = NULL) +
theme_minimal(base_size = 10) +
labs(x = NULL, y = NULL,
title = "Composition des ménages",
subtitle = "selon le statut d'occupation du logement") +
theme(legend.position = "bottom", panel.grid.minor = element_blank())
origine_ordre <- c("France métropolitaine", "DOM et COM", "Reste de l’Europe",
"Magreb (Algérie, Maroc, Tunisie)", "Reste de l’Afrique", "Turquie",
"Reste du monde", "Ensemble")
fig5 |>
mutate(origine = fct_relevel(origine, origine_ordre),
statut = fct_relevel(statut, statuts_ordre)) |>
ggplot(aes(x = origine, y = valeur / 100, fill = statut)) +
geom_col(position = "stack") +
coord_flip() +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
scale_fill_manual(values = statuts_couleurs, name = NULL) +
theme_minimal(base_size = 9) +
labs(x = NULL, y = NULL,
title = "Statuts d'occupation des logements",
subtitle = "selon le pays de naissance de la personne de référence") +
theme(legend.position = "bottom", panel.grid.minor = element_blank()) +
guides(fill = guide_legend(ncol = 2))