Décès et mortalité - DECES-MORTALITE

Données - INSEE

Last observation: juin 2026 (N = 2) · 2025 (N = 1755)

First observation: 1901 (N = 4) · janv. 1946 (N = 2)

Last data update: 03 sept. 2026, 23:45

Last compile: 04 sept. 2026, 01:53

Structure

Définitions

  • Espérance de vie à la naissance. L’espérance de vie à la naissance est égale à la durée de vie moyenne d’une génération fictive qui connaîtrait tout au long de son existence les conditions de mortalité par âge de l’année considérée. C’est un indicateur synthétique des taux de mortalité par âge de l’année considérée.

TITLE_FR

Code
`DECES-MORTALITE` |>
  group_by(IDBANK, TITLE_FR) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()

Espérance de vie à la naissance

ESPV

Tous

Code
`DECES-MORTALITE` |>
  filter(INDICATEUR == "ESPERANCE_VIE",
         REF_AREA == "FM",
         DEMOGRAPHIE != "ESPV-01") %>%
  select_if(~ n_distinct(.) > 1) |>
  year_to_date() |>
  arrange(date) |>
  #filter(date >= as.Date("1981-01-01")) %>%
  arrange(date) |>
  unique() |>
  mutate(Demographie = gsub("Espérance de vie", "... ", Demographie)) |>
  mutate(Demographie = ifelse(DEMOGRAPHIE == "ESPV", "... à 0 ans", Demographie)) |>
  arrange(Demographie) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Demographie)) +
  scale_x_date(breaks = seq(1940, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 100, 10),
                     labels = dollar_format(pre = "", su = " ans")) +
  theme_minimal() + xlab("") + ylab("") +
  geom_label(data = . %>% filter(date %in% c(max(date), min(date))),
             aes(x = date, y = OBS_VALUE, color = Demographie, label = paste0(OBS_VALUE))) +
  theme(legend.position = "top",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) + labs(x = "", y = "", color = "Espérance de vie: ") +
  facet_wrap(~ Sexe)

1981-

Code
`DECES-MORTALITE` |>
  filter(INDICATEUR == "ESPERANCE_VIE",
         REF_AREA == "FM",
         DEMOGRAPHIE != "ESPV-01") %>%
  select_if(~ n_distinct(.) > 1) |>
  year_to_date() |>
  arrange(date) |>
  filter(date >= as.Date("1981-01-01")) |>
  arrange(date) |>
  unique() |>
  mutate(Demographie = gsub("Espérance de vie", "... ", Demographie)) |>
  mutate(Demographie = ifelse(DEMOGRAPHIE == "ESPV", "... à 0 ans", Demographie)) |>
  arrange(Demographie) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Demographie)) +
  scale_x_date(breaks = seq(1981, 2100, 3) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y"),
               limits = c(1980, 2024) |> paste0("-01-01") |> as.Date()) +
  scale_y_continuous(breaks = seq(0, 100, 10),
                     labels = dollar_format(pre = "", su = " ans")) +
  theme_minimal() + xlab("") + ylab("") +
  geom_label(data = . %>% filter(date %in% c(max(date), min(date))),
             aes(x = date, y = OBS_VALUE, color = Demographie, label = paste0(OBS_VALUE))) +
  theme(legend.position = "top",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) + labs(x = "", y = "", color = "Espérance de vie: ") +
  facet_wrap(~ Sexe)

Démographie - Nombre de naissances vivantes

Par an (glissement)

Tous

Code
`DECES-MORTALITE` |>
  filter(IDBANK == "000436394") |>
  month_to_date() |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois")

Deces vs. naissances

France Métropolitaine

24 mois

Tous

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 24, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 3000000, 50000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 24 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("2005-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 24 derniers mois - France Métropolitaine")

12 mois

Tous

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  arrange(desc(date)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("2005-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine")

Tous, Dernier chiffre

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  arrange(desc(date)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR), size = 1) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("1950-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR, size = 2)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine") +
  geom_label_repel(data = . %>% filter(max(date) == date),
             aes(x =  as.Date("2032-01-01"), y = OBS_VALUE, color = TITLE_FR, label = scales::comma(OBS_VALUE)))

1990-

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= as.Date("1990-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("2005-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine") +
  geom_label_repel(data = . %>% filter(max(date) == date),
             aes(x =  date, y = OBS_VALUE, color = TITLE_FR, label = OBS_VALUE))

2009-

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= as.Date("2009-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine")

2017-

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= as.Date("2017-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine")

2020-

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= as.Date("2020-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine")

2023-

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= as.Date("2023-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 10000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine") +
  geom_label(data = . %>% filter(max(date) == date),
             aes(x =  date, y = OBS_VALUE, color = TITLE_FR, label = scales::comma(OBS_VALUE)))

2024-

Code
invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= max(date) - years(1)-months(2)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 1000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Métropolitaine") +
  geom_text(aes(x =  date, y = OBS_VALUE, color = TITLE_FR, label = scales::comma(OBS_VALUE)))

6 mois

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("000436394", "000436391")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 6, align = "right", fill = NA)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 6 derniers mois") +
  theme(legend.position = c(0.4, 0.5),
        legend.title = element_blank(),
        legend.direction = "vertical")

France Entière

12 mois

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("001641603", "001641601")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = c(0.4, 0.5),
        legend.title = element_blank(),
        legend.direction = "vertical")

Tous, Dernier chiffre

Code
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("001641603", "001641601")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  arrange(desc(date)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR), size = 1) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none") +
  geom_label(data = . %>% filter(date == as.Date("1950-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR, size = 2)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Entière") +
  geom_label_repel(data = . %>% filter(max(date) == date),
             aes(x =  max(date) + years(3), y = OBS_VALUE, color = TITLE_FR, label = scales::comma(OBS_VALUE)))

2024-

Code
invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("001641603", "001641601")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= max(date) - years(1)-months(2)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR), size = 1) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 5000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Entière") +
  geom_text_repel(aes(x =  date, y = OBS_VALUE, color = TITLE_FR, label = scales::comma(OBS_VALUE)))

1 an dernier

Code
invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("001641603", "001641601")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= max(date) - years(1)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR), size = 1) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 5000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Entière") +
  geom_text_repel(aes(x =  date, y = OBS_VALUE, color = TITLE_FR, label = scales::comma(OBS_VALUE)))

2025-

Code
invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))
`DECES-MORTALITE` |>
  bind_rows(`NAISSANCES-FECONDITE`) |>
  filter(IDBANK %in% c("001641603", "001641601")) |>
  month_to_date() |>
  group_by(TITLE_FR) |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         DEMOGRAPHIE2 = ifelse(DEMOGRAPHIE == "DECES", "Décès", "Naissances")) |>
  filter(date >= as.Date("2025-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = TITLE_FR), size = 1) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 5000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre sur les 12 derniers mois") +
  theme(legend.position = "none",
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2015-01-01")), aes(x = date, y = OBS_VALUE, label = DEMOGRAPHIE2, color = TITLE_FR)) +
  ggtitle("Naissances et décès sur les 12 derniers mois - France Entière") +
  geom_text_repel(aes(x =  date, y = OBS_VALUE, color = TITLE_FR, label = scales::comma(OBS_VALUE)))