graphique
graphique de Likert
Réponses ordonnées réparties de part et d'autre d'un point neutre.
Likert chart
Ordered responses split either side of a neutral point.
Cas particulier des barres empilées divergentes (diverging-stacked-bar-chart) : réponses sur une échelle de Likert, la modalité neutre centrée sur l'axe.
Classification
- graphique
- barres › barres divergentes
- écart; Visual Vocabulary du Financial Times
- le nom évoque : nom de personne
Canaux
position sur une échelle commune; principal : cumul des réponses (segments sans base commune, sauf autour du point neutre)
position sur des échelles non alignées; secondaire : effectif de chaque réponse (segments sans base commune, sauf autour du point neutre)
longueur; principal : effectif de chaque réponse
saturation; secondaire : série ordonnée (à la place de la teinte si la catégorie est ordonnée)
région de l'espace; principal : signe
teinte; principal : série (Si la catégorie est ordonnée on peut également utiliser la luminance ou la saturation)
Attestation
- terme français : Usage courant, non attesté par une source
Littérature scientifique
OpenAlex : 14 articles depuis 2020, dont 64 % ces cinq dernières années; surtout en Social Sciences, Computer Science, Agricultural and Biological Sciences
Références séminales
- formalisation (2014) Heiberger & Robbins (2014). Design of diverging stacked bar charts for Likert scales and other applications. Journal of Statistical Software (227 citations)
Paquets R
- R
ggstats::gglikert(); GitHub 56 étoiles; dernier commit 2026-09
Code R de l'exemple ggplot2
library(ggplot2)
library(dplyr)
library(tidyr)
library(carData)
## Ratings from 1 to 5: unfavourable ones to the left of zero, favourable
## ones to the right, the middle rating split across zero.
shares <- BEPS |>
pivot_longer(c(Blair, Hague, Kennedy), names_to = "leader", values_to = "rating") |>
count(leader, rating) |>
group_by(leader) |>
mutate(share = 100 * n / sum(n),
rating = factor(rating, levels = 5:1))
left <- shares |>
filter(as.integer(as.character(rating)) <= 3) |>
## From zero outward: 3, then 2, then 1.
mutate(share = -ifelse(rating == "3", share / 2, share), rating = factor(rating, levels = 1:5))
right <- shares |>
filter(as.integer(as.character(rating)) >= 3) |>
mutate(share = ifelse(rating == "3", share / 2, share))
favourable <- shares |>
group_by(leader) |>
summarise(fav = sum(share[as.integer(as.character(rating)) >= 4]))
p <- ggplot(mapping = aes(x = share, y = leader, fill = rating)) +
geom_col(data = left, width = 0.6) +
geom_col(data = mutate(right, rating = factor(rating, levels = 5:1)), width = 0.6) +
geom_vline(xintercept = 0, colour = "#535353", linewidth = 0.4) +
geom_text(data = favourable, aes(x = 72, y = leader, label = paste0(round(fav), "% rate 4 or 5")),
inherit.aes = FALSE, hjust = 0, size = 3, colour = "#535353") +
scale_fill_manual(values = setNames(idest_seq[c(1, 2, 3, 4, 6)], 1:5), breaks = 1:5,
name = "Rating, from 1 (worst) to 5") +
scale_x_continuous(labels = \(x) paste0(lex_number(abs(x)), "%"), limits = c(-75, 100),
breaks = c(-50, -25, 0, 25, 50)) +
labs(title = "65% of voters rated Blair 4 or 5, 41% Hague",
subtitle = "British Election Panel Study, 1997–2001: party leaders rated from 1 to 5",
x = "Share of voters", y = NULL,
caption = "Data: BEPS, via the carData R package") +
theme_lex_viz(grid = "x", arrows = "") +
theme(legend.position = "top", legend.title.position = "left")Citer cette fiche
Adresse stablehttps://dataviz.adrientaudiere.com/terme/likert-chart.html
RéférenceTaudière Adrien. 2026. graphique de Likert. Dans Visualization Vocabulary, version 1.0.0. IdEst. https://dataviz.adrientaudiere.com/terme/likert-chart.html
BibTeX
@incollection{taudiere2026-likert-chart,
author = {Taudière, Adrien},
title = {graphique de Likert},
booktitle = {Visualization Vocabulary},
year = {2026},
version = {1.0.0},
publisher = {IdEst},
url = {https://dataviz.adrientaudiere.com/terme/likert-chart.html},
note = {CC0 1.0}
}Fiche créée le 13/10/2026. Texte modifié le 02/11/2026. Images modifiées le 12/11/2026. Chiffres calculés le 22/10/2026.