Aller au contenu

Composant · Données

FunnelChart

Stable

Entonnoir vertical ou horizontal représentant les étapes d'un processus de conversion. Chaque étape affiche sa valeur et optionnellement son pourcentage (par rapport à la première étape ou à l'étape précédente). Légende et tooltip de survol inclus.

Exemples

Entonnoir de conversion en 4 étapes : visiteurs, prospects, leads qualifiés et clients. Les pourcentages affichés sont relatifs à la première étape (percentMode="ofFirst").

Entonnoir de conversion

  • Visiteurs: 8400 (100%)
  • Prospects: 3200 (38.1%)
  • Leads qualifiés: 940 (11.2%)
  • Clients: 210 (2.5%)
Voir le code (Svelte)
<div class="chart-wrapper">
  <FunnelChart
    label="Entonnoir de conversion"
    data={[{"label":"Visiteurs","value":8400,"tone":"category1"},{"label":"Prospects","value":3200,"tone":"category2"},{"label":"Leads qualifiés","value":940,"tone":"category3"},{"label":"Clients","value":210,"tone":"category4"}]}
    showPercentages
    width={480}
    height={300}
  />
</div>

API du composant

PropTypeDéfautDescription
dataFunnelChartDatum[]requisTableau des étapes de l'entonnoir.
labelstringrequisLabel aria-label du graphique (a11y).
orientation"vertical" | "horizontal""vertical"Orientation de l'entonnoir.
showPercentagesbooleantrueAffiche les pourcentages de conversion par étape.
percentMode"ofFirst" | "ofPrevious""ofFirst"Référence pour le calcul des pourcentages.
legendbooleanfalseAffiche une légende sous le graphique.
widthnumber480Largeur du viewBox SVG.
heightnumber280Hauteur du viewBox SVG.

FunnelChartDatum = { label: string; value: number; tone?: FunnelChartTone } : tone ∈ category1…8

Tokens CSS

Variable CSSDescription
--st-semantic-data-category1…8Palette catégorielle des segments d'entonnoir.
--st-component-funnelChart-labelColorCouleur des étiquettes de valeur.
--st-component-funnelChart-tooltipBackgroundFond du tooltip de survol.
--st-component-funnelChart-tooltipTextTexte du tooltip.

Piloté par store

La version adaptateur (@sentropic/dataviz-svelte, -react, -vue, -angular) dérive les étapes d’un DashboardStore partagé : category et measure désignent les canaux, le reste du contrat est inchangé.

Entonnoir (store)

Voir le code (Svelte)
<div class="chart-wrapper">
  <FunnelChart
    store={store}
    viewId="store"
    category="stage"
    measure="count"
    label="Entonnoir (store)"
  />
</div>
PropTypePar défaut
storeDashboardStorerequis
viewIdstringrequis
categorystringrequis
measurestringrequis
sortPartWholeSortnon défini
orientation"vertical" | "horizontal""vertical"
showPercentagesbooleannatif
percentMode"ofFirst" | "ofPrevious"natif
legendbooleannatif
width / heightnumbernatif
labelstringrequis (a11y)

Props du natif non reprises par la version store : data (dérivé du store via category / measure).