Aller au contenu

Composant · Données

TreemapChart

Stable

Carte proportionnelle hiérarchique (algorithme squarified de Bruls, Huizing et van Wijk) prenant en charge 1 ou 2 niveaux. Les rectangles sont dimensionnés proportionnellement à leur valeur, colorés par la palette catégorielle du thème. Labels dans les rectangles suffisamment grands, tooltip au survol et liste de valeurs accessible.

Exemples

Budget à 2 niveaux : 3 départements (Ingénierie, Produit, Marketing) subdivisés en équipes. La couleur de ton par département facilite la lecture de la hiérarchie.

Répartition du budget par département

  • Ingénierie, Backend: 58000
  • Ingénierie, Frontend: 42000
  • Ingénierie, Infra: 31000
  • Produit, Design: 27000
  • Produit, PM: 22000
  • Marketing, Growth: 18000
  • Marketing, Contenu: 12000
Voir le code (Svelte)
<div class="chart-wrapper">
  <TreemapChart
    label="Répartition du budget par département"
    data={[{"label":"Ingénierie","value":0,"tone":"category1","children":[{"label":"Frontend","value":42000},{"label":"Backend","value":58000},{"label":"Infra","value":31000}]},{"label":"Produit","value":0,"tone":"category2","children":[{"label":"Design","value":27000},{"label":"PM","value":22000}]},{"label":"Marketing","value":0,"tone":"category3","children":[{"label":"Growth","value":18000},{"label":"Contenu","value":12000}]}]}
    showLabels
    width={520}
    height={320}
  />
</div>

API du composant

PropTypeDéfautDescription
dataTreemapChartDatum[]requisDonnées hiérarchiques (1 ou 2 niveaux).
labelstringrequisLabel aria-label du graphique (a11y).
tiling"squarified""squarified"Algorithme de pavage (squarified uniquement).
showLabelsbooleantrueAffiche les labels dans les rectangles suffisamment grands.
legendbooleanfalseAffiche une légende sous le graphique.
widthnumber480Largeur du viewBox SVG.
heightnumber300Hauteur du viewBox SVG.

TreemapChartDatum = { label: string; value: number; tone?: TreemapChartTone; children?: TreemapChartDatum[] }

Tokens CSS

Variable CSSDescription
--st-semantic-data-category1…8Palette catégorielle pour les rectangles.
--st-component-treemapChart-labelColorCouleur de repli des labels (remplacée par contraste calculé).
--st-component-treemapChart-tooltipBackgroundFond du tooltip de survol.
--st-component-treemapChart-tooltipTextTexte du tooltip.

Piloté par store

La version adaptateur (@sentropic/dataviz-svelte, -react, -vue, -angular) dérive les rectangles d’un DashboardStore partagé : hierarchy et measure désignent les canaux.

Revenu par région (store)

Voir le code (Svelte)
<div class="chart-wrapper">
  <TreemapChart
    store={store}
    viewId="store"
    hierarchy={["region","product"]}
    measure="revenue"
    label="Revenu par région (store)"
  />
</div>
PropTypePar défaut
storeDashboardStorerequis
viewIdstringrequis
hierarchystring[]requis
measurestringrequis
showLabelsbooleannatif
legendbooleannatif
width / heightnumbernatif
labelstringrequis (a11y)

Props du natif non reprises par la version store : data (dérivé du store via hierarchy / measure) et tiling (non exposé : le défaut du natif s’applique).