Quel graphe pour visualiser des données ?

Quel graphe pour visualiser des données ? On tend vers un monde où les données deviennent le cœur névralgique de tout business -ou presque. En témoigne le monde qui nous entoure, tout est fait de façon à raisonner par des données. Sans leur stockage et leur exploitation il serait difficile pour Netflix ou Youtube de nous proposer quoi regarder, Linkedin notre futur job, Maps notre route, Google Traduction de traduire, etc.

Le problème étant que des données brutes sont difficilement interprétables et encore moins exploitables. C’est pourquoi, il existe pléthore de librairies de graphe pour afficher des données. Le plus rigolo est qu’il en existe tellement qu’on a tendance à négliger le choix de la librairie. Pire :

  1. lorsqu’on cherche à représenter des données, on cherche souvent des graphes avec pléthores d’options inutiles
  2. on a du mal à concevoir l’idée de représenter des données dans une autre représentation

À quoi sert un graphe ?

Un graphe représente des données numérique et de l’information afin d’analyser les relations entre des données. Autrement dit, communiquer de l’information, quelle que soit la finalité, en vue d’identifier l’idée principale/le message/la tendance. Le gain de temps grâce aux graphes est grandissimo, comme dirait l’autre.

Cela dit, un graphe ne se suffit pas à lui même. De par, le choix arbitraires des axes, seules quelques informations sont présentées. Ce manque d’exhaustivité peut contraindre à une mauvaise interprétation des données. Il doit de ce fait être complété par du texte explicatif. Il arrive bien souvent qu’on ait pas réellement besoin d’un graphe. Un texte peut se suffire.

Une autre tendance est d’utiliser des graphes élégants et/ou complexes avec une multitude de fonctionnalités mais inadaptés au besoin. Ne jamais perdre de vue l’objectif d’un graphe, à savoir faire passer le message de manière simple et efficace.

Encore fautdrait-il définir la simplicité et l’efficacité …

Soit, raisonnons plutôt en données. 

Quels sont les types de données à représenter ?

  • temporelle

C’est-à-dire représenter l’évolution d’une variable en fonction du temps.

Si la variable est discrète, on utilise en général un diagramme en bâtons. En revanche, si la variable est continue, il est plus courant de les représenter par une courbe (line plot) ou un graphique d’aire (area chart).

  • géolocalisée

C’est-à-dire représenter une variable dans chacune des unités géographiques d’une entité globale.

Son avantage est de pouvoir représenter les informations d’une partie (une ville par exemple) par rapport à un ensemble (un pays). Mais il n’est pas toujours judicieux de comparer une partie avec une autre puisque le contexte de chaque sous ensemble est différent (chaque ville n’a pas le même nombre d’habitants). 

  • arborescence

C’est-à-dire représenter des données hiérarchiques dans un espace limité. Le treemap est utilisé pour ce faire.

Quelles sont les types de variables ?

  • Variable de catégorie

Les variables de catégorie ont un nombre fini de catégories sans ordre pré-établi. Par exemple, les équipe de football française de haut niveau.

On utilisera des Bar, Dot Plot lorsqu’on a des métriques à mettre en évidence. Et Pie, Treemap, Stacked Bar lorsqu’il s’agit d’avoir une vision globale. 

  • Variable discrète

Les variables discrètes sont des variables numériques triées.  Bar en colonne, 2D Heat, Stacked en Bar.

  • Variable continue

Les variables continues sont des variables numériques ayant un nombre infini de valeurs dans un intervalle donné. Par exemple, un prix. ou une date.

On utilise pour ce faire des Line Table, Line, Area, Bar (en colonne parce que le temps est sur l’axe des absciesses).

Quel que soit le type de données, il convient de choisir également un type de graphe. Quels sont les types de graphes ? 

  • Time Series

Le time series ou communément appellé histogramme est un graphe qui montre l’évolution d’une variable à travers le temps. Le temps est un indicateur clé ici représenté sur l’axe des abscisse en général. Par exemple, pour comparer l’évolution du salaire de postes au sein d’une entreprise par rapport aux années d’exépriences.

  • Frequency Distribution

Afin de montrer de montrer des données contenant des fréquences, des catégories … des données qu’on puisse rassembler, il convient d’utiliser un Frequency Distribution. Par exemple, pour montrer la grille des salaires des salarié d’une entreprise. On trouve plusieurs fourchettes de salaire.

Quelques exemples de visualisation : 

  • Les tableaux

On utilise un tableau lorsque le public visé est très diversifié et chaque individu est intéressé par une variable différente. De par sa forme, l’individu va lire la ligne du tableau qui l’intéresse.

C’est intéressant lorsque le format de la donnée n’est pas standardisé, comme ci-dessous :

Il est déconseillé d’utiliser les tableaux dans une présentation parce que pour lire la ligne du tableau qui l’intéresse, la personne doit avoir le tableau sous les yeux. Vous perdrez son attention.

Une forme de tableau intéressante est le heatmap. Il colorise les cellules (en fonction de la valeur) de sorte à faciliter la lecture. Aider le cerveau à voir ce qui est intéressant sans trop d’efforts.

  • Les graphes

À la différence des tableaux, on ne lit pas un graphe, on le regarde. C’est donc plus efficace (en théorie, du moins).

Il y a 4 grandes familles de graphes : points, lines, bars et area.

Points

Par exemple le scatterplot. ll permet de montrer la relation entre deux choses en utilisant les deux axes. Ce sont les coordonnées de chaque point sur l’axe des abscisses et l’axe des ordonnées qui représentent les valeurs de chacune des variables. C’est ainsi qu’il montre une corrélation.

Leur lecture requiert une bonne attention. Sur l’exemple ci-dessous, les points montrent une corrélation entre le nombre de clics et le coût. On peut aller plus loin en jouant sur le rayon du point proportionnée à sa valeur intrinsèque.

Lines

On utilisera ce type de graphe pour des times series/valeurs continues (des dates, par exemple). Du fait que les valeurs soient liées entre-elles, ce type de graphe s’y prête bien de par l’utilisation de lignes.

L’advantages est de pouvoir comparer simultanément et facilement mais seulement avec des valeurs continues.

Bars

Graphe très commun donc une courbe de compréhension très faible. T
oujours faire attention à ce que l’axe des abscisses partent de zéro parce que les yeux regardent en haut du bloc et comparent les blocs. Question d’honneteté et de non manipulation.

Source : Storytelling with Data

Avec la notion de catégories (dates, par exemple), il peut être très intéressant de mettre plusieurs séries sur une barre :

(À noter que j’utilise ici des labels sur les axes, il est conseillé de le préciser excepté si ça va de soi ou qu’on souhaite que la personne se concentre sur le graphe).

Le Stacked vertical bar chart va permettre de montrer la décomposition du résultat mais c’est rarement intéressant de l’utilisation, en cause sa difficulté de lecture (pour comparer les décomposition notamment) :

A la différence du horizontal bar chart qui se lit naturellement :

Idéal lorsque le label est long.

Si les catégories ne suivent pas un ordre logique (comme les dates), revoyez leur ordre.

De cette manière, le stacked bar chart est plus facile à lire :

Source : Storytelling with Data

La différence entre un histogram et bar chart est qu’avec un histogram, les axes sont numériques. Un bar chart a des espaces entre les colonnes. L’histogram est continu ce qui permet de mesurer quelque chose sur l’axe des ordonées. Là où sur un bar chart on utilise des catégories.

L’histogram est intéressant pour montrer des tendances en analyse de données donc comprendre les distributions. En revanche, il ne permet pas d’afficher plus d’une distribution sur un axe.

Area

L’humain n’est pas très fort pour comprendre des valeurs dans des espaces en deux dimensions. C’est pourquoi les area graphs ne sont pas très utilisés. Ils peuvent cependant être intéressant lorsqu’il y a une multitude de variables, là où un bar chart montre qu’une caractéristique (le CA sur l’année (bar chart) contre le CA et le nombre d’employés sur l’année (area), par exemple).

Quel graphe pour afficher des données ?

Grosso modo, il peut être judicieux d’utiliser un Scatteplot si on cherche à montrer un lien entre plusieurs variables.

Si on cherche à montrer un rang, on préférera un Ordered Bar/Column, Bump (pratique pour montrer le rang lorsqu’il y a plusieurs dates), Ordered Proportional Symbol (lorsqu’il y a de grosses variation, quand le détail n’est pas important), Slope (parfait pour montrer comment le rang a évoluée dans le temps).

Si on cherche à montrer l’évolution : Line, Column,  Column + Line Timeline, Slope, Area chart, Priestley Timeline (quand la date est un critère clé), Circle Timeline (pour montrer des variables discrète). En ce qui concerne un changement : Time Series Plot

Si on cherche à montrer la place occupée d’un sous ensemble dans son ensemble : Pie (précision par importante), Treemap, Stacked column/bar, Donut (permet d’inclure plus d’informatinos).

Si on cherche à montrer des divergences : Histogram, Dot Plot, Cumulative Curve.

D’une manière générale il est important d’avoir :

  • un titre du graphe clair, explicite et non ambigu.
  • des unités de mesure.
  • une légende brève (l’échelle, le type de ligne, la couleur, etc.).
  • un message à passer, uniquement un.
  • peu de connaissances nécessaire à sa compréhension.

En conclusion, bien que certaines manières de représenter les données sont plus pertinentes que d’autres, il n’existe pas une manière unique d’afficher celles-ci. Tester et voir si la personne comprend le message que vous essayez de faire passer est encore la meilleure manière de choisir. Bien cerner ce dont la personne a besoin de savoir en lisant le graphe est tout aussi important que de choisir la forme.