# Treemap

Une carte proportionnelle (abrégée C.P.), carte à cases ou en anglais treemap est une représentation de données hiérarchiques dans un espace limité. Elle est par exemple utilisée pour représenter l'occupation du disque dur sur un ordinateur. De nos jours, elle est aussi utilisée pour visualiser le budget d'un État.

## Historique

Au début des années 1990, Ben Shneiderman, professeur à l'université du Maryland, remarque que le disque dur du serveur commun de son laboratoire est souvent saturé. Il cherche alors une visualisation des données permettant de repérer dans quel dossier ou sous-dossier se trouvent les fichiers les plus volumineux. Il propose alors de représenter l'arborescence des fichiers (tree) dans un plan (map) et publie un premier algorithme permettant d'obtenir cette visualisation en 1992$^,$. Il développe l'application TreeViz permettant de visualiser l'occupation de son disque dur sur MacIntosh$^,$.
L'idée sous-jacente consiste à répartir l'espace de représentation (l'écran ou le papier) entre les différentes entités de l'arborescence et d'associer à chacune d'entre elles un rectangle dont la taille et la couleur réflète des attributs de l'entité correspondante. Cette technique de visualisation d'information permet à l'utilisateur final de reconnaître facilement des motifs graphiques pouvant traduire des relations complexes au sein des données, relations difficiles à déceler autrement.

## Algorithme

Pour créer une carte proportionnelle, il faut définir un algorithme d’assemblage pour diviser un rectangle en sous-rectangles avec des surfaces définies. Dans l’idéal, un algorithme de carte proportionnelle devrait créer des rectangles de proportions similaires, tout en préservant la signification de l’ordre de données représentées, et toute modification devrait refléter les modifications de ces données.
Malheureusement ces propriétés s'opposent : tandis que les proportions sont optimisées, l’ordre de placement devient moins prévisible. Tandis que l’ordre est préservé, les proportions entre les rectangles sont dégradées.
À ce jour six principaux algorithmes de carte proportionnelle rectangulaire ont été développés :
Algorithme Treemap :
| Algorithme | Conservation de l’ordre | Respect des proportions | Stabilité |
| Arbre Binaire (BinaryTree) | Partiel | Important | Stable |
| Carte proportionnelle mixtes (Mixed Treemaps) | Conservé | Faible | Stable |
| Ordonnancé (Ordered) | Partiel | Moyen | Moyenne |
| Par eminçage (Slice And Dice) | Conservé | Très Important | Stable |
| Mise au carré (Squarified) | Non conservé | Faible | Moyen |
| En Bandes (Strip) | Conservé | Moyen | Moyen |
De plus, plusieurs algorithmes ont été proposés pour utiliser des régions non rectangulaires :
* Carte proportionnelle de Jigsaw - basé sur le remplissage de courbes géométriques
* GosperMaps - basé sur les courbes géometriques de Gosper, [conservation de l’ordre, très important respect des proportions, stable]
* Carte proportionnelle de Voronoi - basé sur le calcul des diagrammes de Voronoi
* Carte proportionnelle convexes - utilisation de polygones convexes a la place de rectangles
* Carte proportionnelle circulaires - utilisation de cercles a la place de rectangles

## Carte proportionnelle de Voronoi

La CP de Voronoi est une variante de la CP proposée par Michael Balzer et Oliver Deussen en 2005, dans laquelle les éléments sont des polygones, comme dans un diagramme de Voronoi, plutôt que des rectangles. Michael Balzer l'a notamment utilisée pour visualiser les différentes parts de l'inflation américaine et allemande$^,$.