Skip to content

feat: bivariate choropleth crossing two metrics (#14) - #31

Merged
ndaen merged 1 commit into
mainfrom
feat/bivariate-choropleth
Jul 5, 2026
Merged

feat: bivariate choropleth crossing two metrics (#14)#31
ndaen merged 1 commit into
mainfrom
feat/bivariate-choropleth

Conversation

@ndaen

@ndaen ndaen commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Closes #14.

Choroplèthe bivarié : croise deux métriques sur une palette 3×3 pour repérer les zones type « bien notées et abordables ».

Ce qui change

  • src/lib/scoreColors.ts : makeBivariateScale — classes par terciles rang-based sur chaque axe (même approche que quantileScale, robuste aux distributions resserrées), palette 3×3 bleu-violet (Joshua Stevens). Valeur manquante sur un axe → gris « no data ».
  • src/components/score-sidebar.tsx : checkbox « Croiser avec une 2ᵉ métrique » + sélecteur natif de la seconde métrique ; la légende dégradé est remplacée par la matrice 3×3 avec les axes annotés.
  • src/pages/score-map.tsx : getFillColor bascule sur l'échelle bivariée, tooltip enrichi (les 2 valeurs + la classe bivariée, ex. « faible × moyen »).
  • src/lib/scoreColors.test.ts : tests unitaires de l'échelle (terciles, mapping palette, no-data, cas dégénéré).

Vérifié

  • tsc, vitest (11/11), build Vite OK. Les 4 erreurs eslint react-refresh/only-export-components sont préexistantes sur main.
  • Testé en navigateur : palette 3×3 rendue sur la carte (Score global × Prix), légende matricielle, tooltip « Score global : 0.41 · Prix : 0.17 · Classe : faible × moyen », le mode normal (dégradé séquentiel/divergent) reste inchangé quand la case est décochée.

Critères d'acceptation

  • Sélection des 2 métriques à croiser
  • Palette bivariée 3×3 appliquée au choroplèthe
  • Légende matricielle 3×3
  • Tooltip : les 2 valeurs + la classe bivariée
  • Classes calculées par quantiles (rang-based)

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 5a3b712):

https://homepedia-webapp-cceb1--pr31-feat-bivariate-choro-of1kled6.web.app

(expires Sat, 11 Jul 2026 16:37:40 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: d658a29abdbf114e447bbe4bc722d35620c3ead7

@ndaen
ndaen merged commit 614d658 into main Jul 5, 2026
2 checks passed
@ndaen
ndaen deleted the feat/bivariate-choropleth branch July 5, 2026 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Carte : choroplèthe bivarié (croiser 2 métriques)

1 participant