1.115 - Produit intérieur brut et revenu national brut par habitant - T_1115

Données - INSEE

Structure

PIB par habitant en volume

Le PIB par habitant en euros constants a été multiplié par plus de cinq depuis 1949. La pente s’infléchit nettement après 1974, puis à nouveau après 2008.

Code
pib_hab_vol |>
  ggplot() + theme_minimal() + xlab("") + ylab("PIB par habitant (€ 2020, échelle log)") +
  geom_line(aes(x = year, y = value)) +
  scale_x_continuous(breaks = seq(1950, 2030, 10)) +
  scale_y_log10(breaks = c(8000, 12000, 16000, 20000, 25000, 30000, 35000, 40000))

Croissance annuelle du PIB par habitant (volume)

Code
pib_hab_vol |>
  arrange(year) |>
  mutate(g = value / lag(value) - 1) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Croissance du PIB par habitant en volume") +
  geom_hline(yintercept = 0, color = "grey60") +
  geom_col(aes(x = year, y = g), fill = "#2b6cb0") +
  scale_x_continuous(breaks = seq(1950, 2030, 10)) +
  scale_y_continuous(labels = percent_format(accuracy = 1))

Croissance moyenne par décennie

Code
pib_hab_vol |>
  arrange(year) |>
  mutate(g = value / lag(value) - 1,
         dec = paste0(10 * (year %/% 10), "s")) |>
  filter(!is.na(g)) |>
  group_by(dec) |>
  summarise(g = mean(g), .groups = "drop") |>
  ggplot() + theme_minimal() + xlab("") + ylab("Croissance annuelle moyenne") +
  geom_col(aes(x = dec, y = g), fill = "#2b6cb0") +
  scale_y_continuous(labels = percent_format(accuracy = 0.5))

PIB et RNB réel par habitant

Code
`T_1115` |>
  filter(line %in% c(7, 8)) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Par habitant (€ constants)") +
  geom_line(aes(x = year, y = value, color = label)) +
  scale_x_continuous(breaks = seq(1950, 2030, 10)) +
  theme(legend.title = element_blank(), legend.position = "bottom") +
  guides(color = guide_legend(nrow = 2))

Population

Code
`T_1115` |>
  filter(line == 1) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Population (milliers)") +
  geom_line(aes(x = year, y = value)) +
  scale_x_continuous(breaks = seq(1950, 2030, 10))

Table (2025)

Code
`T_1115` |>
  filter(year == last_y) |>
  transmute(Ligne = line, Agrégat = label, `Valeur` = round(value, 1)) |>
  print_table_conditional()
Ligne Agrégat Valeur
1 Population (*) en milliers de personnes 68997.5
2 Produit intérieur brut en milliards d'euros 2991.1
3 Revenu national brut en milliards d'euros 3042.4
4 Produit intérieur brut en milliards d'euros 2020 (**) 2646.7
5 Revenu national brut en termes réels en milliards d'euros (***) 2649.0
6 PIB par habitant en euros 43350.2
7 Revenu national brut en termes réels par habitant en euros (***) 38392.2
8 PIB par habitant en euros 2020 (**) 38360.1