Je partage quelques réflexions à propos de trois cartes choroplèthes publiées récemment sur Rue89Strasbourg. Harmonisation des couleurs et opacité sont notamment au programme.
Quand j'ai écrit un article avec cartes et data sur les bastions droite/gauche aux dernières municipales de Strasbourg, j'étais parti pour refaire ce que j'avais fait pour l'abstention.
Par souci pratique, j'utilise Google Fusion Tables (GFT) pour héberger les données et les cartes directement sur le compte Google de Rue89S.
Niveau cartes choroplèthes, on peut sur GFT très facilement "harmoniser" les couleurs de sa carte (le vrai terme c'est "discrétiser"), soit : en utilisant des seaux ("buckets" dans le texte) en utilisant ce qu'on appelle des "gradients".
Les gradients font tout automatiquement : on dit juste en combien de pots (le vrai mot c'est "classes") on veut diviser nos données, de la valeur minimale à la valeur maximale. GFT calcule tout tout seul et l'utilisateur peut changer la couleur des pots à sa guise, en respectant une palette préétablie ou non.
La carte suivante, qui montre l'abstention bureau de vote par bureau de vote au premier tour des municipales de Strasbourg en 2001, est programmée à partir de gradients :
Les seaux ont, quant à eux, l'avantage de laisser l'utilisateur choisir l'éventail de valeurs de chaque pot. Je peux par exemple lui dire d'utiliser telle couleur entre 0% et 2%, et telle autre entre 2% et 28%. Comme quand on fait de la vraie peinture, le secret après est une question de dosage !
Comparer des éventails différents
Harmoniser l'abstention de 2001 à celle de 2008 n'avait pas posé de souci : il avait suffi d'appliquer le même éventail minimum-maximum aux deux cartes, et d'utiliser strictement la même palette.
Pour les candidats de la droite et de la gauche en 2008, en revanche, c'était une autre paire de manches. Il fallait traduire en couleurs le fait que :
- globalement, le PS avait fait une vraie percée dans la ville (de 30% à 64%), arrivant à plus de 50% dans une quarantaine de bureaux de vote de la ville
- l'UMP avait un éventail de pourcentage plus large (de 16% à 56%), dont les valeurs extrêmes se situaient en dessous de celles du PS
Quelle solution adopter pour traduire ces différences ? J'ai opté pour celle-ci :
- calculer les plages de pourcents alloués à chaque pot de couleur, pour qu'elles soient équivalentes. Si l'on prenait six pots pour l'UMP et cinq pots pour le PS, on obtenait des plages d'environ 6,75% pour les deux grands partis
- utiliser des palettes de couleurs décalées
Plus concrètement, voici la palette allouée à l'UMP :
On voit bien six pots de couleur, partant d'un blanc on ne peut plus clair vers un bleu plus foncé.
Voici maintenant la palette du PS :
On distingue à présent cinq pots, dont le plus clair (valeur minimum) est plus sombre que le pot le plus clair de la droite.
Ce qui nous donne, en cartes, pour la droite :
Et pour la gauche :
Gare à l'opacité
Petite incartade sur l'opacité : GFT permet de paramétrer l'opacité de chaque classe pour plus ou moins cacher le nom des lieux en-dessous des calques colorés.
Mais d'office, il ne met pas la même valeur à tous les pots. Donc si vous êtes un peu étourdi et que vous avez oublié de changer l'un des pots, vous pourrez vous retrouver avec une carte où une ou plusieurs valeurs hautes sont favorisées :
Ou l'inverse avec ici les valeurs minimales favorisées :
Attention donc à soit utiliser la même opacité partout, soit préciser quelles valeurs sont mises en valeur et pourquoi.
Comparer les écarts droite-gauche dans une même carte
Dresser deux cartes, soigneusement harmonisées (même si d'autres choix peuvent tout à fait se justifier), c'était déjà pas mal. Mais j'avais bien envie de comparer les scores PS-UMP sur une même carte.
Pour cela, l'écart de pourcentage semblait tout désigné. J'ai donc choisi de soustraire les pourcentages de Mme Keller aux pourcentages de M. Ries, mais j'aurais pu faire l'inverse et obtenir le même résultat.
Ce coup-ci, les seaux ont été particulièrement utiles pour diviser en tranches de 5% les différents écarts.
D'un côté, j'avais 25%, 20%, 15%, 10%, 5% en faveur de l'UMP, de l'autre 40%, 30%, 25%, 20%, 15%, 10% et 5% en faveur du PS.
Encore une fois, l'écart étant plus fort du côté de la gauche, j'ai adapté les palettes de couleurs utilisées pour le traduire.
Enfin, j'ai choisi la couleur blanche dans les bureaux à moins de 5% en faveur du PS et de l'UMP. Ce qui, au final, donne ça :
Pour les éventuelles remarques
Mon mail : raphipons[at]gmail.com !