Si c’était un ami, vous l’empêcheriez de faire ce genre de visualisation de données — 16 mauvais types de graphiques et pourquoi
(github.com/cxli233)- Dépôt GitHub qui recense 16 mauvaises pratiques de visualisation fréquemment utilisées dans les articles scientifiques et l’analyse de données, avec des exemples, du code R et des données simulées permettant de reproduire chaque cas directement
- Il pointe concrètement des visualisations qui déforment la distribution et les caractéristiques des données, comme l’usage abusif des diagrammes en barres pour comparer des moyennes, les violin plots sur de petits échantillons, ou l’application d’une échelle de couleurs divergente à des données unidirectionnelles
- Il explique les problèmes de types de graphiques qui ne tiennent pas compte des caractéristiques de la perception visuelle humaine, comme l’absence de réordonnancement des lignes et colonnes dans les heatmaps, l’absence de vérification des valeurs aberrantes, ou les limites fondamentales des pie charts et des graphiques en donuts concentriques
- Il met aussi en garde contre des erreurs de conception structurelles qui induisent en erreur, comme la confusion entre visualisation basée sur la position et visualisation basée sur la longueur, ou encore les diagrammes en barres avec axe tronqué
- Une collection pratique d’anti-patterns utile à tous les chercheurs et développeurs qui travaillent sur la visualisation de données, avec pour chaque cas des méthodes de visualisation alternatives proposées
1. Ne pas comparer des moyennes avec un diagramme en barres
- Les graphiques de comparaison de moyennes (means separation) sont parmi les visualisations les plus courantes dans les articles scientifiques, avec pour objectif de montrer la moyenne, la variance et la distribution de deux groupes ou plus
- Dans l’exemple, deux groupes ont des moyennes et écarts-types similaires, mais des distributions complètement différentes — impossible de détecter cette différence avec un simple diagramme en barres
- Avant d’utiliser un diagramme en barres, il faut impérativement vérifier la distribution des données ; Weissgerber et al. (2015, PLOS Biology) soulignent également les limites des diagrammes en barres
2. Ne pas utiliser de violin plot sur de petits échantillons
- Un violin plot ou une courbe de distribution lissée n’a pas de sens quand la taille de l’échantillon est faible
- Sur de petits échantillons, la distribution et les quartiles varient fortement même pour des observations issues du même ensemble, et il faut au moins n ≥ 50 pour que les quartiles se stabilisent
- Cela est démontré par une expérience comparant les quartiles sur plusieurs échantillons tirés d’une même distribution normale
3. Ne pas utiliser une échelle de couleurs divergente pour des données unidirectionnelles
- Dans une échelle de couleurs, la couleur la plus sombre et la plus claire doivent représenter des valeurs significatives comme le maximum, le minimum, la moyenne ou 0
- Faire représenter par la couleur la plus claire ou la plus sombre un nombre arbitraire est une erreur aussi grave que « le fait que la plus longue barre d’un bar chart ne représente pas la valeur maximale »
- Lorsqu’on utilise une heatmap ou un dégradé de couleurs, il est indispensable de choisir une échelle adaptée à la direction des données (unidirectionnelle vs. bidirectionnelle)
4. Ne pas créer une prairie de diagrammes en barres (Bar Plot Meadow)
- Aligner les résultats d’une expérience multifactorielle sous forme de diagrammes en barres produit une « prairie de bar charts » inefficace pour communiquer les résultats
- Pour transmettre efficacement les résultats d’une expérience multifactorielle, il faut concevoir avec soin le regroupement et le facettage selon les facteurs d’intérêt
- L’exemple compare l’effet de Treatment et Explant sur Response au niveau de Variety, en soulignant que la mise en page doit changer selon le point d’analyse
5. Il faut penser au réordonnancement des lignes et colonnes d’une heatmap
- Les heatmaps sont très courantes dans les articles scientifiques, en particulier en omics, mais sans réordonnancement des lignes et colonnes, il est impossible d’en extraire des informations utiles
- Le réordonnancement par clustering est courant, mais ce n’est pas la seule méthode ; dans des cas comme une plaque 96 puits, où l’on représente une disposition physique, le réordonnancement n’est pas possible
- La combinaison du réordonnancement des lignes/colonnes et d’un dégradé de couleurs approprié permet aussi de produire des heatmaps visuellement élégantes
6. Il faut vérifier les valeurs aberrantes dans une heatmap
- Les valeurs aberrantes peuvent totalement changer la perception et l’interprétation d’une heatmap ; le problème vaut pour toute visualisation exprimant des données numériques par la couleur
- Dans l’exemple, deux observations mesurées sur 20 caractéristiques semblent globalement similaires si les valeurs aberrantes ne sont pas vérifiées, mais en ajustant l’échelle de couleurs sur le 95e percentile, des différences apparaissent sur toutes les caractéristiques
7. Vérifier l’étendue des données à chaque niveau de facteur
- Dans les expériences multifactorielles, il est fréquent que l’étendue de la variable de réponse varie fortement selon les niveaux de facteur
- Dans une expérience simulée mesurant 3 composés sur 2 groupes (contrôle vs traitement), la plage de concentration du composé 1 est bien plus étroite que celle des autres composés, avec un risque de passer à côté d’un effet du traitement
- Si l’on ne vérifie pas au préalable l’étendue des données pour chaque composé, on peut négliger des effets de traitement importants
8. Tester plusieurs layouts pour un graphe de réseau
- L’apparence d’un graphe de réseau (le layout, et non la topologie) a un impact majeur sur son efficacité
- Avec les mêmes données, trois graphes de réseau peuvent avoir un rendu complètement différent, et l’article inclut aussi un exemple appliquant neuf layouts distincts
- Comme la difficulté d’interprétation du réseau varie fortement selon le layout, il faut en essayer plusieurs
9. Ne pas confondre visualisation basée sur la position et visualisation basée sur la longueur
- Dans les graphiques en points ou en lignes, les valeurs sont représentées par leur position sur les axes x et y ; dans un diagramme en barres, elles sont représentées par la distance (longueur) à partir de l’axe x
- Dans l’exemple, un diagramme en barres qui ne part pas de 0 fait paraître la barre du temps 2 environ 3 fois plus longue que celle du temps 1, alors que la différence réelle de moyenne n’est que d’environ 1,6 fois — confondre longueur et position produit des graphiques trompeurs
-
Attention aux diagrammes en barres à axe tronqué (Broken Axis)
- Un axe tronqué peut être utile pour représenter des valeurs sur une large plage (avec comme alternative un axe en échelle logarithmique), mais seulement pour les graphiques basés sur la position
- Dans un diagramme en barres, déplacer la position de la coupure d’axe crée un effet d’illusion qui fait paraître certaines barres plus longues ou plus courtes
- Dans l’exemple, la longueur de la barre « d » paraît très différente selon la position de la coupure d’axe, parce qu’un diagramme en barres est un graphique basé sur la longueur
10. Ne pas faire de pie chart
- Le pie chart représente des proportions en divisant un cercle en secteurs, mais l’être humain lit bien mieux les longueurs que les angles ou les surfaces
- Dans l’exemple de 2 groupes avec 4 sous-catégories chacun, le pie chart rend la comparaison entre groupes très difficile
- Même simplifié en donut chart, les données sont alors représentées par la longueur des arcs ; il vaut bien mieux « dérouler » le donut pour en faire un stacked bar chart, beaucoup plus efficace pour comparer
- Dans ggplot, les scripts pour produire un pie chart ou un donut chart sont même plus complexes que ceux d’un stacked bar chart
11. Ne pas faire de donut chart concentrique
- Dans un donut concentrique, on peut croire que les données sont représentées par la longueur des arcs, mais en réalité elles le sont par l’angle des arcs, or l’humain lit mal les angles d’arc
- La longueur des arcs de l’anneau extérieur étant bien plus grande que celle de l’anneau intérieur, même si Group 2 et Group 3 ont la même valeur, l’arc de Group 3 paraît beaucoup plus long
- L’ordre des groupes (quel groupe est placé sur quel anneau) influence fortement l’impression générale du graphique, au point de créer le paradoxe d’une grande valeur représentée par un arc plus court
- Le même problème s’applique aux layouts circulaires comme les circos plots ; l’alternative consiste simplement à dérouler le donut en stacked bar plot
12. Ne pas utiliser d’échelles de couleurs rouge/vert ni arc-en-ciel
- La deutéranomalie est la forme de daltonisme la plus courante, touchant environ 1 homme sur 16 et 1 femme sur 256
- Les échelles rouge/vert et arc-en-ciel posent problème aux personnes daltoniennes et conservent très mal l’information en impression noir et blanc
- Des échelles de couleurs « modernes » comme viridis sont compatibles avec le daltonisme, sûres en niveaux de gris et visuellement meilleures
13. Ne pas oublier le réordonnancement d’un stacked bar plot
- Le stacked bar plot est couramment utilisé pour des données de proportions, la structure de communautés, la structure de populations ou l’analyse d’admixture
- Dans un exemple avec 100 échantillons et 8 classes, si l’ordre des barres n’est pas optimisé, aucun motif n’est identifiable dans le graphique
- Après réordonnancement des barres, les motifs apparaissent de manière spectaculaire ; l’essentiel est dans le regroupement et l’optimisation de l’ordre des échantillons
14. Ne pas mélanger stacked bar et comparaison de moyennes
- Le stacked bar plot montre des données de proportions totalisant 100 %, tandis qu’un graphique de comparaison de moyennes montre les différences de moyenne et la variance : ce sont deux tâches de visualisation totalement distinctes
- Dans l’exemple d’une expérience sur des plants de myrtillier, un stacked bar plot standard montre clairement qu’un traitement chimique déplace fortement le profil de couleur des fruits vers le stade le plus mûr (dark blue)
- Si l’on superpose des barres d’erreur et des points au stacked bar, il devient flou de savoir quelles barres d’erreur et quels points sont comparés, et les barres d’erreur de la pile supérieure sont décalées vers le haut, ce qui rend l’interprétation de l’axe y peu intuitive
- Si l’objectif principal est de visualiser les comparaisons de moyennes et la variance, un graphique séparé de comparaison de moyennes est plus approprié
15. Ne pas utiliser d’histogramme sur de petits échantillons
- L’histogramme est parfois proposé comme alternative au diagramme en barres, mais sa robustesse au choix du nombre de bins est très faible sur de petits échantillons
- Si l’on échantillonne une même loi normale avec n = 10, 100, 1000 et qu’on trace des histogrammes à 10, 30 ou 50 bins, la forme de l’histogramme varie fortement malgré une même distribution sous-jacente
- Sur de petits échantillons (n < 30), il est bien préférable de représenter directement tous les points de données ; même avec n = 100, l’apparence de l’histogramme change fortement selon le nombre de bins
- Pour qu’un histogramme devienne robuste aux variations du nombre de bins, il faut une taille d’échantillon d’environ 1000 ou plus
16. Ne pas utiliser de boxplot pour des données bimodales
- Le boxplot met l’accent sur la médiane et les quartiles, et ne permet donc pas de représenter correctement des données bimodales (ou multimodales)
- Avant de faire un boxplot, il faut impérativement vérifier la distribution des données
- Pour des tailles d’échantillon petites à moyennes (moins de quelques dizaines de milliers), la meilleure pratique consiste à utiliser
geom_quasirandom()du package ggbeeswarm pour afficher directement tous les points de données - Les graphiques basés sur la distribution, comme les violin plots ou les histogrammes, ne sont pas robustes sur de petits échantillons
2 commentaires
Le titre est amusant. Si vous consultez l’article original, vous verrez aussi un exemple de graphique, ce qui le rend plus facile à suivre.
Avis de Hacker News
D’un côté, ce contenu paraît plutôt excellent
De l’autre, j’ai l’impression que beaucoup de ces mauvais graphiques ont été choisis intentionnellement pour masquer le faible nombre de points de données ou une distribution sous-jacente douteuse
Donc ce n’est pas tant « un ami vous empêcherait de faire ça » que « quand vous voyez un graphique qui obscurcit au lieu de montrer clairement, soupçonnez que ce puisse être intentionnel »
Parmi les articles auxquels j’ai participé, il n’y en a eu exactement 0 où l’attitude n’était pas « envoyons-le tout de suite »
Si les graphiques ne sont pas clairs, c’est souvent parce que les rendre clairs demande du temps et des efforts, deux choses qui manquent cruellement dans le monde universitaire. Il arrive évidemment parfois que des détails gênants soient cachés intentionnellement, mais je ne pense pas que ce soit la source principale de ces mauvaises figures
Certains groupes n’ont pas intérêt à réveiller le chien qui dort, d’autres ne savent tout simplement pas. Il y a aussi des gens qui ne devraient pas faire de recherche, mais la formation manque, et la main-d’œuvre bon marché de doctorants n’est pas si facile à trouver, ce qui nous donne la situation actuelle
L’exemple « un ami ne vous laisserait pas faire une carte de chaleur où une valeur aberrante définit le maximum » est vraiment courant. On le voit souvent aussi dans les visualisations statistiques de jeux vidéo
Dans les jeux de stratégie et de simulation, il y a beaucoup de visualisations destinées à aider le joueur à comprendre une situation ou un problème, mais les cartes de chaleur voient souvent leur dégradé de couleurs devenir assez inutile à cause de l’effet des valeurs aberrantes
Par exemple, dans Oxygen Not Included, quand on active la visualisation de la température, s’il y a une source de chaleur comme un volcan, toutes les autres couleurs paraissent froides, si bien que l’écran vire souvent uniquement au bleu ou au rouge rosé. Impossible de distinguer un volcan à 1000 °C d’une chambre à vapeur un peu surchauffée à 270 °C : les deux deviennent presque uniformément rouge rosé. Même une base surchauffée à 60 °C paraît froide par comparaison et s’affiche en bleu, ce qui rend la carte de chaleur presque inutile pour diagnostiquer les problèmes de température
En fait, l’idée que la signification des couleurs change selon les variations de température paraît assez mauvaise
C’est vraiment utile : cela sert d’alerte de point chaud tout en indiquant qu’il faut les ignorer
Il y a quelque temps sur HN, quelqu’un affirmait que tout graphique dont la valeur minimale de tous les axes n’était pas 0 était trompeur, et cela avait déclenché un débat animé
On parlait d’un graphique sur l’augmentation de la température mondiale due au changement climatique, et cette personne disait que le graphique était misleading parce que l’axe Y, la température, ne commençait pas à 0. Je ne sais même pas s’il parlait de 0 degré Fahrenheit, de 0 degré Celsius ou du foutu zéro kelvin
Il a même dit : « si un changement n’est pas visible quand on met le plancher à 0, peut-être qu’il n’est pas si significatif ? » Ma foi en l’humanité en a pris un coup pendant un moment, mais je suis content qu’on semble maintenant discuter à un niveau un peu plus élevé. Les années 2016-2020 semblent appartenir à une autre époque
Un graphique qui donne l’impression que 25 °C est « 25 % plus chaud » que 20 °C peut être considéré comme trompeur en ce sens. Bien sûr, cela ne justifie pas le déni du réchauffement climatique
Par exemple, le premier graphique que j’ai trouvé est celui-ci : https://religionnews.com/wp-content/uploads/2014/08/61Years-...
À première vue, on dirait une baisse des deux tiers, ce qui est trompeur. Ce genre de graphique en baisse donne souvent une impression visuelle qui ne reflète pas l’ampleur réelle de la diminution
Si vous voulez approfondir la visualisation de données, The Visual Display of Quantitative Information d’Edward Tufte est une excellente référence. C’est un classique publié pour la première fois en 1983, mais il reste pertinent aujourd’hui.
Cela dit, la prémisse centrale du texte, « maximiser le ratio information/encre », est très séduisante mais fondamentalement imparfaite. La quantité d’encre — ou, à l’écran, le nombre de pixels noirs — n’est pas équivalente à la complexité visuelle. Quand le cerveau interprète l’information visuelle, il a déjà effectué la détection des contours, le regroupement et d’autres prétraitements.
Il donne l’exemple d’un nuage de points où l’on raccourcit les axes pour ne montrer que la plage des données, au lieu de les faire se rejoindre dans un coin : moins d’encre utilisée, plus d’information affichée, donc gagnant-gagnant, dit-il. Mais en comparant les deux, il est évident que la version modifiée est visuellement plus complexe. Sur une page complexe mêlant texte et plusieurs graphiques, les morceaux se mélangeraient visuellement et ce serait encore pire.
Une façon de réduire cette complexité consiste à entourer de boîtes de grandes zones, comme l’ensemble du graphique ; or les boîtes sont, dans ce livre comme ailleurs, l’ennemi absolu de Tufte. Il est étonnant qu’il ait conservé cette position après avoir observé aussi longtemps les représentations visuelles.
Tukey était l’un des mentors de Tufte.
Pour une vue d’ensemble de haut niveau sur le choix d’un graphique adapté aux données et à l’histoire qu’elles racontent, http://data-to-viz.com est excellent, et les exemples de nombreuses bibliothèques de traçage sont aussi de bonnes sources d’inspiration. Par exemple : https://matplotlib.org/stable/gallery/index.html
C’est très intéressant et pertinent, mais ce n’est pas le dernier mot sur le sujet.
Mais beaucoup de gens passent à côté du raisonnement qui le sous-tend et se contentent de copier le style Tufte tel quel, avec des résultats parfois trop stylisés et iconoclastes. Les graphiques par défaut de ggplot2 dans R en sont un bon exemple.
C’est un bon tour d’horizon des erreurs courantes en visualisation de données, que je vais partager avec mes collègues. En complément, je recommande vivement 39 studies about human perception in 30 mins de Kennedy Eliot : https://medium.com/@kennelliott/39-studies-about-human-perce...
Cela permet de parcourir rapidement les bases scientifiques de nombreuses affirmations autour des bonnes pratiques de visualisation de données. Le dogme selon lequel il ne faut pas utiliser de camemberts est particulièrement intéressant : c’est un sujet qui met les designers mal à l’aise depuis les années 1930, mais les résultats des recherches sont, au mieux, peu concluants.
En parcourant rapidement l’article Medium, il semble adopter le même point de vue sur ces questions, donc les deux devraient bien se compléter.
Dans « 3. Un ami ne laisserait pas quelqu’un utiliser une échelle de couleurs bidirectionnelle pour des données unidirectionnelles », je ne comprends pas pourquoi ces exemples utilisent de la couleur dès le départ.
Dans de nombreux cas, représenter une variable unique peut être amélioré par l’usage d’une échelle de couleurs plutôt que de simples niveaux de gris. Dans ces cas, utiliser une échelle bidirectionnelle pour des données unidirectionnelles est une mauvaise idée, et l’inverse aussi.
Autrement dit, ce ne sont pas des exemples destinés à montrer quand il faut utiliser une échelle de couleurs.
Beaucoup de ces enseignements ne sont pas nouveaux. Il suffit de consulter le livre de Willard C. Brinton, Graphic presentation, publié en 1939 et accessible gratuitement : https://archive.org/details/graphicpresentat00brinrich/mode/...
À mes yeux, ceux-ci restent tous mauvais. Il y a trop de décoration de graphiques, et le plus souvent trop de couleurs.
Toutes ces lignes ne sont pas nécessaires. En en mettant moins, avec soin, on rend la lecture plus facile. N’importe quel livre d’Edward Tufte dit ce genre de choses, et quelques techniques de base suffisent déjà à aller assez loin.
Correction : je pensais que Tufte l’avait créée, mais je me trompais. https://www.amazon.com/Grammar-Graphics-Statistics-Computing...
Je n’ai jamais aimé les diagrammes en violon, mais je ne suis absolument pas du domaine de la visualisation de données. Il y a tout juste une semaine, je suis tombé par hasard sur une vidéo intitulée violin plots should not exist, et les pièces du puzzle se sont emboîtées : https://youtu.be/_0QMKFzW9fw?feature=shared
En m’appuyant sur les travaux de Bill Cleveland, j’ai fait une présentation intitulée How Humans See Data, qui rassemble plusieurs de ces idées dans un cadre cohérent
https://www.youtube.com/watch?v=fSgEeI2Xpdc
La partie sur les trois étapes de l’estimation m’a vraiment ouvert les yeux. Avec le recul, c’est évident, mais je n’avais pas fait le lien avant qu’on me l’explique directement