Salaire moyen par tête - SMPT (données CVS)

Data - INSEE

Info

source dataset Title .html .rData
insee t_salaire_val Salaire moyen par tête - SMPT (données CVS) 2026-01-15 2026-01-10
insee IPC-2015 Indice des prix à la consommation - Base 2015 2026-01-15 2026-01-16
insee IPCH-2015 Indices des prix à la consommation harmonisés 2026-01-15 2026-01-15

Données sur les salaires

source dataset Title .html .rData
insee t_salaire_val Salaire moyen par tête - SMPT (données CVS) 2026-01-15 2026-01-10
dares les-indices-de-salaire-de-base Les indices de salaire de base 2025-12-15 2025-12-15
insee CNA-2014-RDB Revenu et pouvoir d’achat des ménages 2026-01-15 2026-01-15
insee CNT-2014-CSI Comptes de secteurs institutionnels 2026-01-15 2026-01-15
insee ECRT2023 Emploi, chômage, revenus du travail - Edition 2023 2026-01-15 2023-06-30
insee INDICE-TRAITEMENT-FP Indice de traitement brut dans la fonction publique de l'État 2026-01-15 2026-01-15
insee SALAIRES-ACEMO Indices trimestriels de salaires dans le secteur privé - Résultats par secteur d’activité 2026-01-15 2026-01-15
insee SALAIRES-ACEMO-2017 Indices trimestriels de salaires dans le secteur privé 2026-01-15 2026-01-15
insee SALAIRES-ANNUELS Salaires annuels 2026-01-15 2026-01-15
insee if230 Séries longues sur les salaires dans le secteur privé 2026-01-15 2021-12-04
insee ir_salaires_SL_23_csv NA NA NA
insee ir_salaires_SL_csv NA NA NA
insee t_7401 NA NA NA

Structure

  • Comptes nationaux trimestriels au troisième trimestre 2023. html

  • Salaires. xls

  • Comptes de branches. html

  • PIB et ses composantes. html

  • Secteurs et ses composantes. html

Bibliographie

Français

  • “Mesurer”le” pouvoir d’achat”, F. Geerolf, Document de travail, Juillet 2024. [pdf]

  • “Inflation en France: IPC ou IPCH ?”, F. Geerolf, Document de travail, Juillet 2024. [pdf]

  • “La taxe inflationniste, le pouvoir d’achat, le taux d’épargne et le déficit public”, F. Geerolf, Document de travail, Juillet 2024. [pdf]

variable

Code
t_salaire_val %>%
  group_by(variable) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
variable Nobs
(DE) à (C5) 307
(DE) à (MN), (RU) 307
(GZ) à (MN), (RU) 307
AZ 307
C 307
C1 307
C2 307
C3 307
C4 307
C5 307
DE 307
FZ 307
GZ 307
HZ 307
IZ 307
JZ 307
KZ 307
LZ 307
MN 307
OQ 307
RU 307
TOTAL 307

date

Code
t_salaire_val %>%
  group_by(date) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(date)) %>%
  print_table_conditional()

2021, Trimestre 3

Code
t_salaire_val %>%
  filter(date %in% c(as.Date("2023-01-01"), as.Date("2011-07-01"))) %>%
  spread(date, value) %>%
  mutate(evolution = 100*((`2023-01-01`/`2011-07-01`)^(1/10)-1)) %>%
  arrange(-`2023-01-01`) %>%
  print_table_conditional()
variable 2011-07-01 2023-01-01 evolution
JZ 12600.94 16503.25 2.7345809
C4 11463.33 15034.31 2.7489212
C2 13343.82 15027.50 1.1953732
KZ 11147.74 14848.12 2.9078403
C3 10573.22 12630.24 1.7935905
DE 10228.66 12154.52 1.7400407
LZ 10001.90 11789.30 1.6577636
C5 9067.57 11267.42 2.1958727
(DE) à (C5) 9034.86 11103.29 2.0829062
MN 8808.78 11044.55 2.2876559
C 8917.24 10989.54 2.1115588
FZ 8486.39 10504.89 2.1566993
(DE) à (MN), (RU) 8411.13 10481.90 2.2253407
(GZ) à (MN), (RU) 8250.34 10349.95 2.2931708
TOTAL 7852.10 9811.52 2.2527619
HZ 8202.66 9444.87 1.4201217
GZ 7305.92 9091.92 2.2111017
OQ 6746.30 8470.64 2.3022198
C1 6522.66 8205.92 2.3222906
RU 6270.20 7693.18 2.0663185
IZ 5848.40 7154.44 2.0361016
AZ 6218.94 5965.15 -0.4157859

Valeurs en Euros

KZ, JZ, C4

All

Code
t_salaire_val %>%
  filter(variable %in% c("KZ", "JZ", "C4")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("KZ", "JZ", "C4"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
t_salaire_val %>%
  filter(variable %in% c("KZ", "JZ", "C4"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-04-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

C2, C3, C4, C5

All

Code
t_salaire_val %>%
  filter(variable %in% c("C2", "C3", "C4", "C5")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("C2", "C3", "C4", "C5"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
t_salaire_val %>%
  filter(variable %in% c("C2", "C3", "C4", "C5"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-04-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

Agriculture, Industrie, Total

Value

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 10),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1996-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("1996-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 10),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2012-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2012-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2012-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2017-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T1-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2017-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-04-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2019T4-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2019-10-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2019-10-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T3-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2021-07-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr()

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T4-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2021-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr()

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

Services Marchands, Total, Non Marchands

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 5),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1996-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("1996-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 5),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2012-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2012-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2012-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2017-01-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T1-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2017-01-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2019T4-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2019-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T2-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2021-04-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T3-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2021-07-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T4-

Nominal

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2021-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))