Autopsie d'une dataviz [4] : des cartes choroplèthes harmonisées

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 Rue89Strasbourg.

Niveau carte choroplèthe, on peut très facilement "harmoniser" les couleurs de sa carte, ou en utilisant des seaux ("buckets" dans le texte) ou en utilisant ce qu'on appelle des "gradients".

Les gradients font tout automatiquement : on dit juste en combien de pots on veut trier 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
  • d'utiliser des palettes de couleurs décalées

Plus concrètement, voici la palette allouée à l'UMP :

palette_keller

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 :

palette_ries

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 pot 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 :

A vos comm'

Si jamais vous avez des remarques et/ou lectures concernant les choroplèthes, lâchez-vous 🙂 !

Comments

Comment by Manu on 2013-11-27 09:27:39 +0100

Super infographie.
D'un point de vue général: je me demande si il est plus intéressant de compter en nombre de voix ou en pourcentage?

Cela donne une bonne idée de ce qui se passe à Strasbourg entre le ps et l'ump. Ce qui serait intéressant c'est aussi de voir quelle a été l'évolution entre 2001 et 2008.

  • Y-a-t-il des quartiers/bureaux de vote qui sont passés de majoritaire à l'UMP à majoritaire au ps et ceux qui sont passés de majoritaire au PS à majoritaire à l'UMP. Car c'est ces quartiers que vont se disputer les candidats.
  • Il serait également intéressant de voir l'évolution du différentiel uniquement pour les quartiers qui n'ont pas changé de bord (donc 2 cartes: une pour le ps et une pour l'ump) entre 2001 et 2008 pour voir s'il y a une motivation accrue ou au contraire qui se relâche (cette fois-ci seul le pourcentage est intéressant pour essayer d'éliminer le biais introduit par l'abstention)

Question subsidiaire: où avez-vous trouvé le kml des bureaux de vote de Strasbourg? Je ne le trouve nul part dans les bases d'opendata et en particulier pas sur le site de la ville de Strasbourg. Mais peut-être ai-je mal cherché car ce site n'est pas très clair.
Je me doute de la réponse à cette question et donc j'anticipe: si c'est vous qui l'avez fait? Accepteriez vous de le publier en opendata ?

Merci

Comment by Raphi on 2013-11-27 13:01:56 +0100

Cher Manu, tout d'abord merci pour votre long comm' (je me suis permis de supprimer le doublon, ça arrive de temps à autre). Je vais du coup vous répondre dans l'ordre des questions.

Globalement, les voix brutes sont très utile pour révéler l'effet de grossissement qu'un parti peut avoir lors d'une forte abstention (par exemple le FN lors des dernières cantonales partielles).

Si vous avez depuis 14 ans à peu près le même nombre d'électeurs pour un parti alors que la zone électorale gagne plein d'inscrits, son poids relatif ne peut augmenter que si plus de gens s'abstiennent. Cet effet pervers passe relativement vite à la trappe lors des frénétiques soirées électorales, et c'est bien dommage...

Dans le cas de Strasbourg, les taux de participations aux municipales de 2001 et de 2008 étaient quasiment les mêmes, de l'ordre de 65% environ. Utiliser les valeurs absolues aurait été mal adapté dans ce cas, puisque le corps électoral avait en sept ans progressé de près de 15 000 électeurs. Un parti pouvait donc gagner plus de voix dans l'absolu mais garder le même poids relatif. Donc, dans ce cas, j'ai préféré rester sur des % exprimés.

J'ai également fait deux cartes, une pour le PS et une pour l'UMP de 2001, pour observer si certains fiefs étaient différents de ceux de 2008. Ça n'a pas spécialement bougé, sauf pour la concentration des votes.

Plus de votes dès le départ pour l'UMP et surtout pour le PS, donc un bipartisme qui s'accentue d'un premier tour à l'autre, ce qui m'a permis de faire l'intro de mon article et d'en rester là. C'est un choix perso que j'assume, car je pense que les cartes de 2001 aurait un peu brouillé les pistes.

Un des principaux enjeux de ce scrutin va surtout être, à mon avis, l'abstention. Si elle augmente, c'est forcément mauvais pour la gauche, mais si elle diminue, ça peut signifier qu'un oustider fait une percée ou que l'un des deux grands partis remobilise. Je ne crois pas que la campagne va se fixer sur des quartiers qui pourraient basculer, mais on ne sait jamais !

Enfin, le kml utilisé provient du service de production géographique de la CUS, mais il est prévu que tous les différents tracés de bureaux de vote soient peu à peu mis en ligne sur le portail Open data. Je l'ai demandé directement au responsable de l'Open data, qui est très sympa et réactif. Vous pourrez le contacter à l'adresse suivante : projetopendata [ at ] strasbourg.eu

Belle journée à vous.

Comment by Manu on 2013-11-28 20:24:02 +0100

Merci beaucoup pour votre très intéressante réponse. Désolé pour les doublons, lorsque j'ai posté le commentaire, rien ne s'est affiché j'ai donc cru (plusieurs fois à une fausse manipe de ma part et ... reposté).
J'espère avoir le kml, merci pour le tuyau, et je vais essayer de faire des essais je les posterai pour que d'autres puissent en profiter comme ce que vous avez fait.

  • cordialement,