Last data update: 15 sept. 2026, 00:03
Last compile: 16 sept. 2026, 21:00
include_graphics("https://cdn.hellowatt.fr/media/solution/images/evolution-prix-moyen-electricite-particulier-france-2019-2024_8qnxA6I.webp")
Historique des tarifs réglementés de vente d’électricité Bleu résidentiels (HT et TTC) en France métropolitaine continentale pour les options BASE et Heures pleines Heures creuses, de puissance souscrite inférieure ou égale à 36 kVA. Dans les zones non-interconnectées, les TRVE Hors Taxes sont les mêmes qu’en métropole.
Les taxes sont la CTA, la CSPE, la TCFE et la TVA.
TRV_electricite |>
filter(option == "Base") |>
group_by(P_SOUSCRITE) |>
complete(DATE_DEBUT = seq.Date(min(DATE_DEBUT), max(DATE_DEBUT), by = "day")) |>
mutate(P_SOUSCRITE = paste0(P_SOUSCRITE)) |>
fill(PART_VARIABLE_TTC) |>
ggplot() + geom_line(aes(x = DATE_DEBUT, y = PART_VARIABLE_TTC*1000, color = P_SOUSCRITE)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1940, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 500, 10),
labels = dollar_format(accuracy = 1, pre = "", su = "€")) +
theme(legend.position = c(0.2, 0.7),
legend.title = element_blank())
TRV_electricite |>
filter(option == "Base") |>
group_by(P_SOUSCRITE) |>
complete(DATE_DEBUT = seq.Date(min(DATE_DEBUT), max(DATE_DEBUT), by = "day")) |>
mutate(P_SOUSCRITE = paste0(P_SOUSCRITE)) |>
fill(PART_VARIABLE_TTC) |>
filter(DATE_DEBUT >= as.Date("2017-01-01")) |>
ggplot() + geom_line(aes(x = DATE_DEBUT, y = PART_VARIABLE_TTC*1000, color = P_SOUSCRITE)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1940, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 500, 10),
labels = dollar_format(accuracy = 1, pre = "", su = "€")) +
theme(legend.position = c(0.2, 0.7),
legend.title = element_blank())
TRV_electricite |>
filter(option == "Base") |>
group_by(P_SOUSCRITE) |>
complete(DATE_DEBUT = seq.Date(min(DATE_DEBUT), max(DATE_DEBUT), by = "day")) |>
mutate(P_SOUSCRITE = paste0(P_SOUSCRITE)) |>
fill(PART_VARIABLE_TTC) |>
filter(DATE_DEBUT >= Sys.Date() - years(3)) |>
ggplot() + geom_line(aes(x = DATE_DEBUT, y = PART_VARIABLE_TTC*1000, color = P_SOUSCRITE)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1940, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 500, 10),
labels = dollar_format(accuracy = 1, pre = "", su = "€")) +
theme(legend.position = c(0.2, 0.7),
legend.title = element_blank())
TRV_electricite |>
filter(option == "Base") |>
group_by(P_SOUSCRITE) |>
complete(DATE_DEBUT = seq.Date(min(DATE_DEBUT), max(DATE_DEBUT), by = "day")) |>
mutate(P_SOUSCRITE = paste0(P_SOUSCRITE)) |>
fill(PART_VARIABLE_TTC) |>
filter(DATE_DEBUT >= Sys.Date() - years(3)) |>
group_by(P_SOUSCRITE) |>
arrange(DATE_DEBUT) |>
mutate(value = 100*PART_VARIABLE_TTC/PART_VARIABLE_TTC[1]) |>
ggplot() + geom_line(aes(x = DATE_DEBUT, y = value, color = P_SOUSCRITE)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1940, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 500, 10),
labels = dollar_format(accuracy = 1, pre = "")) +
theme(legend.position = c(0.2, 0.7),
legend.title = element_blank())
TRV_electricite |>
filter(option == "Base",
P_SOUSCRITE == 9) |>
complete(DATE_DEBUT = seq.Date(min(DATE_DEBUT), max(DATE_DEBUT), by = "day")) |>
mutate(P_SOUSCRITE = paste0(P_SOUSCRITE)) |>
fill(PART_VARIABLE_TTC, PART_VARIABLE_HT) |>
select(DATE_DEBUT, PART_VARIABLE_TTC, PART_VARIABLE_HT) |>
gather(variable, value, - DATE_DEBUT) |>
filter(DATE_DEBUT >= Sys.Date() - years(3)) |>
group_by(variable) |>
arrange(DATE_DEBUT) |>
mutate(value = 100*value/value[1]) |>
ggplot() + geom_line(aes(x = DATE_DEBUT, y = value, color = variable)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1940, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 500, 10),
labels = dollar_format(accuracy = 1, pre = "")) +
theme(legend.position = c(0.2, 0.7),
legend.title = element_blank())