Le parc de voitures particulières en France en 2024 - Crit’Air, carburant, âge, secteur d’activité - parc_vp_france_2024

Données - SDES

Crit’Air

Code
parc_vp_france_2024 |>
  filter(sheet == "Crit'Air", groupe == "Ensemble des voitures particulières",
         !categorie %in% c("Ensemble des voitures particulières", "Inconnu", "Non classé")) |>
  mutate(categorie = factor(categorie, levels = c("Crit'Air E", paste("Crit'Air", 1:5)))) |>
  ggplot() + geom_col(aes(x = date, y = value, fill = categorie), width = 300) +
  theme_minimal() + xlab("") + ylab("Nombre de voitures particulières") +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = scales::label_number(scale = 1e-6, suffix = " M")) +
  scale_x_date(date_labels = "%Y") +
  scale_fill_manual(values = palette_critair)

Carburant

Code
parc_vp_france_2024 |>
  filter(sheet == "Carburant détaillé", groupe == "Ensemble des voitures particulières",
         categorie %in% c("Diesel", "Essence", "Electrique", "Gaz", "Hydrogène et autre ZE")) |>
  ggplot() + geom_area(aes(x = date, y = value, fill = categorie)) +
  theme_minimal() + xlab("") + ylab("Nombre de voitures particulières") +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = scales::label_number(scale = 1e-6, suffix = " M")) +
  scale_x_date(date_labels = "%Y") +
  scale_fill_viridis_d()

Part de l’électrique et de l’hybride rechargeable

Code
parc_vp_france_2024 |>
  filter(sheet == "Carburant détaillé", groupe == "Ensemble des voitures particulières") |>
  group_by(date) |>
  mutate(part = value/value[categorie == "Ensemble des voitures particulières"]) |>
  filter(categorie %in% c("Electrique", "Diesel HR", "Essence HR")) |>
  ggplot() + geom_line(aes(x = date, y = part, color = categorie), linewidth = 1) +
  theme_minimal() + xlab("") + ylab("Part du parc") +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = scales::percent_format()) +
  scale_x_date(date_labels = "%Y") +
  scale_color_viridis_d()

Âge du parc

Code
parc_vp_france_2024 |>
  filter(sheet == "Âge", groupe == "Ensemble des voitures particulières",
         categorie != "Ensemble des voitures particulières") |>
  mutate(categorie = factor(categorie, levels = c("0 à 4 ans", "5 à 9 ans", "10 à 14 ans", "15 à 19 ans", "20 à 24 ans", "25 ans et plus"))) |>
  ggplot() + geom_col(aes(x = date, y = value, fill = categorie), width = 300, position = "fill") +
  theme_minimal() + xlab("") + ylab("Part du parc") +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = scales::percent_format()) +
  scale_x_date(date_labels = "%Y") +
  scale_fill_viridis_d(direction = -1)

Âge moyen par motorisation

Code
parc_vp_france_2024 |>
  filter(sheet == "Âge moyen", groupe == "Ensemble des voitures particulières",
         categorie %in% c("Ensemble des voitures particulières", "Diesel", "Essence", "Electrique et hydrogène")) |>
  ggplot() + geom_line(aes(x = date, y = value, color = categorie), linewidth = 1) +
  theme_minimal() + xlab("") + ylab("Âge moyen (années)") +
  theme(legend.title = element_blank()) +
  scale_x_date(date_labels = "%Y") +
  scale_color_viridis_d()

Secteur d’activité (parc professionnel)

Code
parc_vp_france_2024 |>
  filter(sheet == "Secteur d'activité", groupe == "Professionnel", date == max(date),
         !categorie %in% c("Ensemble des voitures particulières", "Professionnel", "Inconnu ou non concerné")) |>
  mutate(categorie = fct_reorder(categorie, value)) |>
  ggplot() + geom_col(aes(x = categorie, y = value, fill = value), show.legend = F) +
  coord_flip() +
  theme_minimal() + xlab("") + ylab("Nombre de voitures particulières, dernière année disponible") +
  scale_y_continuous(labels = scales::label_number(scale = 1e-3, suffix = " k")) +
  scale_fill_viridis_c()

Distance et parcours moyen

Distance totale parcourue par motorisation

Code
parc_vp_france_2024 |>
  filter(sheet == "Distance", groupe == "Ensemble des voitures particulières",
         categorie %in% c("Diesel", "Essence", "Electrique", "Gaz")) |>
  ggplot() + geom_area(aes(x = date, y = value, fill = categorie)) +
  theme_minimal() + xlab("") + ylab("Distance annuelle parcourue (km)") +
  theme(legend.title = element_blank()) +
  scale_y_continuous(labels = scales::label_number(scale = 1e-9, suffix = " Md")) +
  scale_x_date(date_labels = "%Y") +
  scale_fill_viridis_d()

Parcours annuel moyen

Code
parc_vp_france_2024 |>
  filter(sheet == "Parcours moyen", groupe == "Ensemble des voitures particulières",
         categorie %in% c("Ensemble des voitures particulières", "Diesel", "Essence", "Electrique")) |>
  ggplot() + geom_line(aes(x = date, y = value, color = categorie), linewidth = 1) +
  theme_minimal() + xlab("") + ylab("Parcours annuel moyen (km)") +
  theme(legend.title = element_blank()) +
  scale_x_date(date_labels = "%Y") +
  scale_color_viridis_d()